/* The fire elemental summoned by the fire elemental ritual * heavily influenced by Mithal's monster of the same name */ inherit "/obj/monster/controlled_monster"; int whichone( int str) { mixed ac_ave,ac_inv,ac_weak; string sizedesc; int Dam, Hit, Base, Def, Size; set_summoned( 1 ); Size = str; if ( Size < 50 ) sizedesc = "really tiny"; else if ( Size < 100 ) sizedesc = "tiny"; else if ( Size < 150 ) sizedesc = "small"; else if ( Size < 200 ) sizedesc = "average sized"; else if ( Size < 300 ) sizedesc = "large"; else if ( Size < 400 ) sizedesc = "huge"; else if ( Size < 500 ) sizedesc = "gigantic"; else if ( Size < 600 ) sizedesc = "colossal"; else sizedesc = "unbelievably large"; set_name( "elemental"); add_adjective( "fire" ); // add_alias( ({ "fire", "", "dust bowl" }) ); set_long("A swirl of red hot gasses burining with intense heat. It seems " "to be in the shape of " + add_a(sizedesc) + " humanoid\n" ); set_short( sizedesc +" fire elemental" ); set_main_plural( sizedesc +" fire elementals" ); set_leave_msg("$N disappears in a big puff of noxious fumes.\n"); set_enter_msg("$N appears in a big puff of noxious fumes.\n"); str /= 10; basic_setup("elemental", str, 0 ); if ( ( Dam = str / 20 ) < 1 ) Dam = 1; if ( ( Hit = str / 40 ) < 1 ) Hit = 1; if ( ( Base = str / 40 ) < 1 ) Base = 1; if ( ( Def = str / 10 ) < 1 ) Def = 1; ac_ave = ({ Def, Dam }); /** Ac default **/ ac_inv = ({ str, Dam }); /** Ac used if partilally invulerable **/ ac_weak = (({ 0,0 })); /** Ac used if it's a weakness **/ call_out( "remove_attack", 2, "standard" ); Dam += Hit + Base; add_attack( "fire_elemental_burn", 70, ({ Dam, 10, Dam }), "fire", "unarmed", 0 ); add_attack( "fire_elemental_bake", 20, ({ Dam, 20, Dam }), "fire", "unarmed", 0 ); add_attack( "fire_elemental_flame", 10, ({ Dam, 30, Dam }), "fire", "unarmed", 0 ); add_ac("bing", "blunt", ac_ave); add_ac("bing2","sharp", ac_ave); add_ac("bing3","pierce",ac_inv); add_ac("bing4","fire", ac_inv); add_ac("bing5","cold", ac_weak); add_ac("bing6","magic", ac_weak); load_chat(20, ({1,":flickers wildly", 1,":forms a trident of fire fire", 1,":looks roasting hot", 1,":burns the ground around it"})); add_attack_message("fire_elemental_burn", "fire", ({20, ({ "You attempt to burn $hcname$ with fire.\n", "$mcname$ attempts to burn you.\n", "$mcname$ attempts to burn $hcname$.\n", }), 80, ({ "You lightly sautee $hcname$.\n", "$mcname$ lightly sautees you.\n", "$mcname$ lightly sautees $hcname$.\n", }), 120, ({ "You burn $hcname$.\n", "$mcname$ burns you.\n", "$mcname$ burns $hcname$.\n", }), 200, ({ "You scorch $hcname$.\n", "$mcname$ scorches you.\n", "$mcname$ scorches $hcname$.\n", }), 0, ({ "You toast $hcname$ until $hpron$'s done.\n", "$mcname$ toasts you til you're done.\n", "$mcname$ toasts $hcname$ and sticks a fork in $hobj$.\n", }), }) ); add_attack_message("fire_elemental_bake", "fire", ({20, ({ "You warm $hcname$ up a bit.\n", "$mcname$ warms you up a bit.\n", "$mcname$ warms $hcname$ up a bit.\n", }), 80, ({ "You slow roast $hcname$.\n", "$mcname$ slow roasts you.\n", "$mcname$ slow roasts $hcname$.\n", }), 160, ({ "You toast $hcname$.\n", "$mcname$ toasts you.\n", "$mcname$ toasts $hcname$.\n", }), 320, ({ "You scorch $hcname$.\n", "$mcname$ scorches you.\n", "$mcname$ scorches $hcname$.\n", }), 0, ({ "You char-broils $hcname$ over an open flame.\n", "$mcname$ char-broils you over an open flame.\n", "$mcname$ char-broils $hcname$ over an open flame.\n", }), }) ); add_attack_message("fire_elemental_flame", "unarmed", ({20, ({ "You swipe at $hcname$.\n", "$mcname$ swipes at you.\n", "$mcname$ swipes at $hcname$.\n", }), 80, ({ "You slap $hcname$ with a fiery hand .\n", "$mcname$ slaps you with a fiery hand.\n", "$mcname$ slaps $hcname$ with a fiery hand.\n", }), 160, ({ "You throw fire badly scorching $hcname$.\n", "$mcname$ throws fire badly scorching you.\n", "$mcname$ hurls fire badly scorches $hcname$.\n", }), 320, ({ "You cast a stream of fire at $hcname$.\n", "$mcname$ casts a stream of fire at you.\n", "$mcname$ casts a stream of fire at $hcname$.\n", }), 0, ({ "You hurl fire at $hcname$ burning $hobj$ to a cinder.\n", "$mcname$ hurls fire at you burning you to a cinder.\n", "$mcname$ hurls fire at $hcname$ burning $hobj$ to a cinder.\n", }), }) ); } /* whichone() */