// TMW2 Scripts // Author: // 4144 // Jesusalva // Description: // Arena for Duels and PVP (temporary map) 003-13,29,29,0 script Arnea#003-13 NPC_ELF_F,{ /* // FIXME warp "003-10", 22, 62; close; */ if (is_staff()) { mes "npc name: " + .name$; mes "npc ext name: " + .extname$; mes "npc id: " + .id; mes "npc parent id: " + .parent; mes "npc src id: " + .srcId; mes "char id 3: " + getcharid(3); mes "instance id: " + instance_id(); mes "Map ID: " + instance_mapname("003-13"); } if (instance_id() >= 0) { goto L_Manage; } else { // Non staff and on 003-13? That's a bug! if (!is_staff()) { atcommand "@request Hey hey hey, player found in 003-13 - regular map! Report this to Jesusalva at once!"; warp "Save", 0, 0; close; } mes "npc not in instance"; } close; L_Manage: mesn; select l("warp back"), l("spawn challenge monster! How far can you go?"), l("cancel"); switch (@menu) { case 1: warp "003-10", 22, 62; break; case 2: .@mg=monster("003-13", 38, 32, "Gladiator", TestingMob, 1); setunitdata(.@mg, UDT_LEVEL, BaseLevel+@UDTf); setunitdata(.@mg, UDT_HP, MaxHp+(@UDTf*45)); setunitdata(.@mg, UDT_MAXHP, MaxHp+(@UDTf*45)); setunitdata(.@mg, UDT_STR, readparam(bStr)+(@UDTf*rand(1,3))); setunitdata(.@mg, UDT_AGI, readparam(bAgi)+(@UDTf*rand(1,3))); setunitdata(.@mg, UDT_VIT, readparam(bVit)+(@UDTf*rand(1,3))); setunitdata(.@mg, UDT_INT, readparam(bInt)+(@UDTf*rand(1,3))); setunitdata(.@mg, UDT_DEX, readparam(bDex)+(@UDTf*rand(1,3))); setunitdata(.@mg, UDT_LUK, readparam(bLuk)+(@UDTf*rand(1,3))); // Now, I don't have this info from player, so... // We must generate it .@str=getunitdata(.@mg, UDT_STR); .@agi=getunitdata(.@mg, UDT_AGI); .@vit=getunitdata(.@mg, UDT_VIT); .@int=getunitdata(.@mg, UDT_INT); .@dex=getunitdata(.@mg, UDT_DEX); .@luk=getunitdata(.@mg, UDT_LUK); .@blv=getunitdata(.@mg, UDT_LEVEL); // And then fill it setunitdata(.@mg, UDT_ATKRANGE, any(1,1,1,2)); setunitdata(.@mg, UDT_ATKMIN, .@blv+.@str+(@UDTf*4)); setunitdata(.@mg, UDT_ATKMAX, .@blv+.@str+.@luk+(@UDTf*6)); setunitdata(.@mg, UDT_DEF, .@blv+.@vit+(@UDTf*2)); setunitdata(.@mg, UDT_MDEF, .@blv+.@int+(@UDTf*2)); setunitdata(.@mg, UDT_HIT, .@blv+.@dex+(@UDTf*2)); setunitdata(.@mg, UDT_FLEE, .@blv+.@agi+(@UDTf*2)); setunitdata(.@mg, UDT_PDODGE, min(30, .@luk/10+(@UDTf/3))); setunitdata(.@mg, UDT_CRIT, (.@blv/2)+.@luk+(@UDTf*2)); @UDTf+=1; npctalk l("UDT Challenge, wave @@! @@ spawned a fighter!", @UDTf, strcharinfo(0)); closeclientdialog; break; case 3: break; } close; OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, Darkelm); setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps); setunitdata(.@npcId, UDT_WEAPON, RockKnife); setunitdata(.@npcId, UDT_HAIRSTYLE, 14); setunitdata(.@npcId, UDT_HAIRCOLOR, 18); .sex = G_FEMALE; .distance = 9; end; OnInstanceInit: .@npcId = getnpcid(instance_npcname(.name$)); setunitdata(.@npcId, UDT_HEADTOP, Darkelm); setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps); setunitdata(.@npcId, UDT_WEAPON, RockKnife); setunitdata(.@npcId, UDT_HAIRSTYLE, 14); setunitdata(.@npcId, UDT_HAIRCOLOR, 18); end; }