diff options
-rw-r--r-- | db/re/item_db.txt | 2 | ||||
-rw-r--r-- | doc/ea_job_system.txt | 4 | ||||
-rw-r--r-- | doc/mob_db_mode_list.txt | 2 | ||||
-rw-r--r-- | doc/script_commands.txt | 25 | ||||
-rw-r--r-- | doc/whisper_sys.txt | 70 | ||||
-rw-r--r-- | sql-files/item_db_re.sql | 3 |
6 files changed, 62 insertions, 44 deletions
diff --git a/db/re/item_db.txt b/db/re/item_db.txt index 49088875e..51aa24c21 100644 --- a/db/re/item_db.txt +++ b/db/re/item_db.txt @@ -6049,7 +6049,7 @@ 13411,BF_Sword2,Brave Gladiator Blade,4,20,,0,115,,1,0,0x000654E3,7,2,2,3,80,1,2,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; },{},{} 13412,Twin_Edge_B,Twin Edge of Naght Sieger,4,20,,1500,150,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Water; skill "MG_FROSTDIVER",5; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{} 13413,Twin_Edge_R,Twin Edge of Naght Sieger,4,20,,1500,160,,1,3,0x000654E2,2,2,2,4,75,1,2,{ bonus bAtkEle,Ele_Fire; skill "WZ_METEOR",3; autobonus "{ bonus bIgnoreDefRace,RC_NonBoss; }",50,5000; },{},{} -13414,Elemental_Sword,Elemental Sword,4,20,,1200,105,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus bMatk,95; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,10000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,10000; },{},{} +13414,Elemental_Sword,Elemental Sword,4,20,,1200,105:95,,1,3,0x000654E2,2,2,2,3,70,1,2,{ bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus4 bAutoSpellOnSkill,"MG_COLDBOLT","MG_FIREBOLT",3,1000; bonus4 bAutoSpellOnSkill,"MG_FIREBOLT","MG_LIGHTNINGBOLT",3,10000; bonus4 bAutoSpellOnSkill,"MG_LIGHTNINGBOLT","WZ_EARTHSPIKE",3,10000; },{},{} 13415,N_Falchion,Novice Falchion,4,0,,0,59,,1,3,0x000654E3,7,2,2,1,2,0,2,{},{},{} 13416,Krieger_Onehand_Sword1,Glorious Flamberge,4,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; if(getrefine() > 5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine() > 6) bonus bAspdRate,5; if(getrefine() > 8) { bonus bAspdRate,5; bonus4 bAutoSpellOnSkill,"SM_BASH","NPC_CRITICALWOUND",2,200; } },{},{} 13417,Krieger_Onehand_Sword2,Glorious Rapier,4,20,,0,130,,1,0,0x000654E3,7,2,2,4,80,1,2,{ bonus bInt,getrefine()-5; bonus bMatkRate,10; bonus bUnbreakableWeapon,0; if(getrefine() > 5) bonus bUseSPrate,-10; if(getrefine() > 8) bonus bInt,5; },{},{} diff --git a/doc/ea_job_system.txt b/doc/ea_job_system.txt index 50fc399e8..3fd7e9bb9 100644 --- a/doc/ea_job_system.txt +++ b/doc/ea_job_system.txt @@ -1,5 +1,5 @@ -//===== Athena Doc=== ===================================== -//= rAthena Job System +//===== Athena Doc========================================= +//= eAthena Job System //===== By ================================================ //= Skotlex //===== Version =========================================== diff --git a/doc/mob_db_mode_list.txt b/doc/mob_db_mode_list.txt index c2d55f35c..34a5dac89 100644 --- a/doc/mob_db_mode_list.txt +++ b/doc/mob_db_mode_list.txt @@ -7,7 +7,7 @@ //========================================================= //= 1.0 - Standardized doc file //===== Description ======================================= -//= A reference description of eA's mob_db 'mode' field +//= A reference description of rAthena's mob_db 'mode' field //========================================================= Bit Legend: diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 6ce6b186f..ffdd16061 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -5390,11 +5390,13 @@ while hidden then revealing.... you can wonder around =P *doevent "<NPC object name>::<event label>"; This command will start a new execution thread in a specified NPC object at the -specified label. The execution of the script running this command will not stop. -No parameters may be passed with a doevent call. +specified label. The execution of the script running this command will not stop, +and the event called by the 'doevent' command will not run until the invoking +script has terminated. No parameters may be passed with a doevent call. The script of the NPC object invoked in this manner will run as if it's been -invoked by the RID that was active in the script that issued a 'doevent'. +invoked by the RID that was active in the script that issued a 'doevent'. As +such, the command will not work if an RID is not attached. place,100,100,1%TAB%script%TAB%NPC%TAB%53,{ mes "This is what you will see when you click me"; @@ -5412,13 +5414,16 @@ invoked by the RID that was active in the script that issued a 'doevent'. *donpcevent "{NPC NAME}::<event label>"; -This command invokes the event label code within an another NPC or NPCs. If -event label has the form "NpcName::OnLabel", then only given NPC's event label -will be invoked (much like 'goto' into another NPC). If the form is "::OnLabel" -(NpcName omitted), the event code of all NPCs with given label will be invoked, -one after another. In both cases the invoked script will run without an attached -RID, whether or not the invoking script was attached to a player. The event -label name is required to start with On. +This command invokes the event label code within an another NPC or NPCs. It +starts a separate instance of execution, and the invoking NPC will resume +execution its immediately. + +If the supplied event label has the form "NpcName::OnLabel", then only given +NPC's event label will be invoked (much like 'goto' into another NPC). If the +form is "::OnLabel" (NPC name omitted), the event code of all NPCs with given +label will be invoked, one after another. In both cases the invoked script +will run without an attached RID, whether or not the invoking script was +attached to a player. The event label name is required to start with "On". This command can be used to make other NPCs act, as if they were responding to the invoking NPC's actions, such as using an emotion or talking. diff --git a/doc/whisper_sys.txt b/doc/whisper_sys.txt index 7f4091408..e9353de75 100644 --- a/doc/whisper_sys.txt +++ b/doc/whisper_sys.txt @@ -1,29 +1,41 @@ -Adapted from: http://www.eathena.ws/board/index.php?showtopic=42659 -Copied by: Massdriller -Post made by: lordalfa - -As requested by MassDriller, I made this piece of code to allow you to whisper your NPCS and let them execute some commands for you. - -An example of what you can do with it, before you eventually go on reading. - -Let's say you prepared a special NPC called NPCCommander. -You whisper to NPCCommander in Game with formatted instructions like these: - -//============================================================ - -[To NPC:NPCCommander] Report#Killstealing#Lordalfa - -//============================================================ - -Now what happens is that this code allows you to trigger a Label called "OnWhisperGlobal" into that NPC and execute some code, passing it The values you just input. - -Values will be passed into Temp string Variables called @whispervar0$, @whispervar1$ and so on.. -In the example above: - -@whispervar0$ would contain the word "Report" -@whispervar1$ would contain the word "KillStealing" -@whispervar2$ would contain the word "Lordalfa" - -so you might prepare the NPC Label to process these Variables and give Executing Character a Feedback ( via dispbottom "message" for example ) - -Now , it's allowed to use up to 10 commands in a Row, separed by "#" character, they will be splitted and passed to the NPC Label in their respective variables, for you to process them. +//===== Athena Doc ======================================== +//= NPC Whisper System +//===== By ================================================ +//= lordalfa, Massdriller +//===== Version =========================================== +//= 1.1 +//========================================================= +//= 1.1 - Cleanup. [Euphy] +//===== Description ======================================= +//= A description of rAthena's NPC whispering system. +//========================================================= + +This piece of code to allows characters to execute events in NPCs by whispering +them up to ten parameters. The NPC must have an "OnWhisperGlobal" label, or an +"event not found" error will result. + + NPC:<NPC Name> <String>{#String 2{#...{#String 10}}} + +The whispered strings are separated by the "#" character, and are each stored +into separate temporary character string variables: + + @whispervar0$, @whispervar1$, ... @whispervar9$ + +--------------------------------------------------------------------------------- + +Below is an example of how this feature might be used. +You whisper an NPC "NPCCommander" in-game with the following instructions: + + NPC:NPCCommander Report#Killstealing#Lordalfa + +The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can +be processed accordingly: + + - script NPCCommander -1,{ + OnWhisperGlobal: + // The following code will inform player "Lordalfa" that he has been + // reported for killstealing. + if (@whispervar0$ == "Report") + message @whispervar2$,"You have been reported for "+@whispervar1$+"."; + end; + }
\ No newline at end of file diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql index c325bd6d2..621f45820 100644 --- a/sql-files/item_db_re.sql +++ b/sql-files/item_db_re.sql @@ -386,13 +386,14 @@ REPLACE INTO `item_db_re` VALUES (2564,'Feral_Tail','Feral Tail',5,20,NULL,0,NUL # Accessories REPLACE INTO `item_db_re` VALUES (2629,'Magingiorde','Megingjard',5,20,NULL,8000,NULL,2,NULL,0,0xFFFFFFFF,7,2,136,NULL,94,0,0,'bonus bStr,40+BaseLevel/5; bonus bMdef,7; if(readparam(bStr)==120) bonus2 bAddRace,RC_Boss,10;',NULL,NULL); -#Cards +# Cards REPLACE INTO `item_db_re` VALUES (4302,'Tao_Gunka_Card','Tao Gunka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,16,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,100; bonus bDefRate,-50; bonus bMdefRate,-50;',NULL,NULL); # More Armors REPLACE INTO `item_db_re` VALUES (15000,'Bone_Plate','Bone Plate',5,20,NULL,1000,NULL,60,NULL,1,0x000654E2,2,2,16,NULL,85,1,0,'bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiHuman,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,\"NPC_WIDEBLEEDING\",1,10;',NULL,NULL); # Weapons +REPLACE INTO `item_db_re` VALUES (13414,'Elemental_Sword','Elemental Sword',4,20,NULL,1200,'105:95',NULL,1,3,0x000654E2,2,2,2,3,70,1,2,'bonus bStr,2; bonus bInt,4; bonus bDex,1; bonus2 bAddEle,Ele_Neutral,10; bonus3 bAutoSpell,\"MG_COLDBOLT\",3,50; bonus4 bAutoSpellOnSkill,\"MG_COLDBOLT\",\"MG_FIREBOLT\",3,1000; bonus4 bAutoSpellOnSkill,\"MG_FIREBOLT\",\"MG_LIGHTNINGBOLT\",3,10000; bonus4 bAutoSpellOnSkill,\"MG_LIGHTNINGBOLT\",\"WZ_EARTHSPIKE\",3,10000;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (16010,'Red_Ether_Bag','Red Ether Bag',4,20,NULL,0,'15:100',NULL,1,1,0x0004C5B2,7,2,2,3,102,1,8,' if(getrefine()>=6){ bonus2 bSkillAtk,\"GN_CRAZYWEED\",20+((getrefine()-5)*2); bonus2 bSkillAtk,\"GN_DEMONIC_FIRE\",20+((getrefine()-5)*2); } else { bonus2 bSkillAtk,\"GN_CRAZYWEED\",20; bonus2 bSkillAtk,\"GN_DEMONIC_FIRE\",20; } ',NULL,NULL); REPLACE INTO `item_db_re` VALUES (16013,'Judgement_Mace1','Judgement Mace I',4,20,NULL,1200,'140:180',NULL,1,2,0x00000100,2,2,2,3,100,1,8,' bonus bStr,1; bonus bInt,1; autobonus \"{ bonus2 bAddRace,RC_Demon,20; }\",10,7000,BF_WEAPON|BF_MAGIC,\"{ specialeffect2 EF_BLOODDRAIN; }\"; if (isequipped(2472,2570,15030)) { bonus2 bAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bSkillAtk,\"AB_ADORAMUS\",100; };',NULL,NULL); |