All pastes #419361 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-04-01 08:13 UTC
rendered paste body
set #lpc 200
set %lootbag QNERKMD
set %lootgold #true
set %rares JKH_RJG_SJG_FJG_MWL_NSH_ALH
set %jewel cwl_ijg_lwl_ujg_
set %gold POF
SET %shield LIK_MIK_CLK_AIK_CIK_LYD_GIK_NIK_ZHK_HLK_BLK_FIK_BIK_OIK_

set %weapon fuo_atf_npo_jph_tsf_nmh_vrh_jtf_soh_bph
+_lsf_bsf_nsf_zrf_rmh_lph_uoh_hsf_zto_buo_xth_opo_cuo
+_xrh_guo_mtf_rrh_vth_ysf_buh_auo_trh_zth_woh_usf_lmh
+_qpo_ppo_
set %armor gsh_osh_fik_gik_cik_nik_aik_mik_hlk_clk
+_czh_jwi_gzh_ewi_bwi_jjn_vvi_wvi_xvi_yvi_iwi_hwi_kwi
+_xvl_vjn_fci_jkh_njl_kkh_hkh_vkh_qkh_alh_xkh_ykh_mlh
+_llh_qsk_ysk_atk_usk_osk_ssk_yph_vph_bqh_cqh_pph_ylh
+_
set %all %jewel , %gold , %weapon , %armor
Main:
wait 1
finditem %all C_
if #findid = x
goto main
if #conttype <> YFM
goto main

Rares:
Finditem %rares C_
if #findid <> x
{
 if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto rares
 }
 gosub loot
 goto rares
}

Jewel:
Finditem %jewel C_
if #findid <> x
{
 if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto jewel
 }
 gosub loot
 goto jewel
}
armor:
Finditem %armor C_
if #findid <> x
{
 if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto armor
 }
 if #findtype in %armor
 Gosub armoreval #findid
 if %value > 1
 gosub loot
 if %value < 1
 ignoreitem #Findid
goto armor
}
weapon:
Finditem %weapon C_
if #findid <> x
{
 if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto weapon
 }
 if #findtype in %weapon
 Gosub weapeval #findid
 if %value > 1
 gosub loot
  if %value < 1
 ignoreitem #Findid
goto weapon
}

shield:
Finditem %shield C_
if #findid <> x
{
 if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto weapon
 }
 if #findtype in %shield
 Gosub shieldeval #findid
 if %value > 1
 gosub loot
  if %value < 1
 ignoreitem #Findid
goto weapon
}

gold:
if %lootgold = #true
{
finditem %gold C_
if #findbagid = #backpackid || #findbagid = #charid || #findbagid = %lootbag
 {
 ignoreitem #findid
 goto gold
 }
 if #findid <> x
 gosub loot
 }
 event exmsg #charid 3 70 corpse looted
 wait 1
goto main




Sub Loot
event exmsg #charid 3 60 Looting #findtype
exevent drag #findid #findstack
exevent dropc %lootbag
exevent dropc %lootbag
return




sub property
str pos #property %3
str del #property 1 #strres
set %return #strres
str pos %return $
if #strres > 1
str del %return #strres 900
set %return #strres
str len %return
set %strlen #strres
set %number1 1
str del %number1 1 1
set %number1 #strres
set %number2 1
str del %number2 1 1
set %number2 #strres
set %numb 1
for %i 1 %strlen
{
   str mid %return %i 1
if ! ( #strres < 1 || #strres > 0 ) 3
if %number1 > 0 2
set %numb 2
goto skip
if ( #strres < 1 || #strres > 0 )
set %number . %numb %number . %numb , #strres
skip:
}
return



sub armoreval
set %value 0
finditem %1
event property #findid
;-----------------------------------------------------------------------
;-------------------------------RESIST & LRC--------------------
;-----------------------------------------------------------------------
top:
gosub start #findid anata wa baka physical fire cold poison energy
sub start
set %totresist 0
for %c 5 9
{
set %number1 0
set %Targresist % . %c , #spc , resist
if %Targresist in #property
gosub resProperty %1 number %Targresist
set %totresist %totresist + %number1
}
set %resValue %totresist * 10 / 45
if %resvalue > 10
set %value %value + %resvalue
;-------------LRC---------------------
set %number1 0
set %LRC lower , #spc , reagent
if lower , #spc , reagent in #property
gosub resProperty %1 number %lrc
if %number1 > 10 2
set %lrcval %number1 * 10 / 12
set %value %value + %lrcval
sub resProperty
str pos #property %3
set #strres #strres + 4
str del #property 1 #strres
set %return #strres
str pos %return $
if #strres > 1
set #strres #strres - 1
str del %return #strres 900
set %return #strres
str len %return
set #strres #strres - 2
str del %return 1 #strres
set %number1 #strres
return
;-------------------------------------------------------------
;-------------------END RESIST------------------------
;-------------------------------------------------------------
;-------------------LUCK-------------------------------------
set %number1 0
if luck in #property
gosub property %1 hi luck
if %number1 > 55
set %value %number1 / 4 + %value
;----------------END LUCK-------------------------------
return


Sub weapeval
set %value 0
finditem %1
event property #findid ;<<<<<<<<<<<<<<<<<<<<<
;-----------------------------------------------------------------------
;-------------------------------Damage & speed--------------------
;-----------------------------------------------------------------------
top:
set %damage damage , #spc , increase
if %damage in #property
gosub property %1 hi %damage
if %number1 > 35
set %value %number1 * 10 / 30 + %value
set %number1 0
;-------------speed------------------------------------
set %speed speed , #spc , increase
if %speed in #property
gosub property %1 hi %speed
if %number1 > 24
set %value %number1 * 10 / 20 + %value
;-------------------------------------------------------------
;-------------------END damage & speed-----------
;-------------------------------------------------------------
;-------------------LUCK----------------------------------
set %number1 0
if luck in #property
gosub property %1 hi luck
if %number1 > 60
set %value %number1 / 4 + %value
;----------------END LUCK-------------------------------
;----------------SLAYER-----------------------------------
if slayer in #property
set %value %value + 10
;-------------------hit chance weapons-----------
set %number1 0
if harm in #property
gosub property %1 hi harm
if %number1 > 30
set %value 20

set %number1 0
if fireball in #property
gosub property %1 hi fireball
if %number1 > 30
set %value 20

set %number1 0
if lightning in #property
gosub property %1 hi lightning
if %number1 > 30
set %value 20

set %number1 0
set %magicarrow magic, _ , arrow
if %magicarrow in #property
gosub property %1 hi %magicarrow
if %number1 > 30
set %value 20

set %number1 0
if Channeling in #property && Faster notin #property
set %value 20
set %number1 0
set %magicarrow mana , _ , leech
if %magicarrow in #property
gosub property %1 hi %magicarrow
if %number1 > 30
set %value 20
set %number1 0
set %magicarrow life , _ , leech
if %magicarrow in #property
gosub property %1 hi %magicarrow
if %number1 > 30
set %value 20
return


sub shieldeval
finditem %1
event property #findid
set %number1 0
if Channeling in #property && Faster notin #property
set %value 20
;-----------------------------------------------------------------------
;---------------------DEF & HIT INCREASE--------------------
;-----------------------------------------------------------------------
;-------------DEF---------------------
set %number1 0
set %def Defense , #spc , chance
if %def in #property
gosub resProperty %1 number %def
if %number1 > 9
set %value 10
;---------HIT--------------------
set %number1 0
set %hit hit , #spc , chance
if %hit in #property
gosub resProperty %1 number %hit
if %number1 > 9
set %value 10
sub resProperty
str pos #property %3
set #strres #strres + 4
str del #property 1 #strres
set %return #strres
str pos %return $
if #strres > 1
set #strres #strres - 1
str del %return #strres 900
set %return #strres
str len %return
set #strres #strres - 2
str del %return 1 #strres
set %number1 #strres
return