Changelog-Trunk.txt 326 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893
  1. Date Added
  2. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
  3. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
  4. 2007/10/01
  5. * Fixed various trading/vending glitches [ultramage]
  6. - fixed vending_tax not working at all (integer division in r10182)
  7. - undid change from r8273 where pc_getzeny() treated zeny overflow as
  8. an error condition; officially, the value is just bounded to MAX_ZENY
  9. (this fixes stuff like shops that you can't buy items from).
  10. - fixed stupid code that, instead of properly checking and filtering
  11. invalid items during shop setup, opted to 'hide' these items from
  12. the vending list instead...
  13. - removed some custom error message packets related to vending
  14. - fixed a glitch where the server would open a shop with no items
  15. when all entered items were tagged as invalid
  16. - split zeny handling from trade_tradeadditem() into a separate func
  17. - removed loads of redundant code from vending.c
  18. 2007/09/30
  19. * Removed redundant 'subnet' s_subnet structure variable. [ultramage]
  20. 2007/09/28
  21. * Changed back the query to get the friends of a character to a LEFT JOIN.
  22. * Setting the item script variables to NULL when they are freed. (bugreport:142 ?)
  23. (a double @reloaditemdb might result in a double free) [FlavioJS]
  24. * Rev. 11325 Corrected Summer Outfit not included as a PC class. (Zephyrus_CR) [L0ne_W0lf]
  25. * Rev. 11321 Implemented Summer Outfit care of Zephyrus_CR. [L0ne_W0lf]
  26. - Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation
  27. of the 12.1 Guild Castles.
  28. * Fixed sql target not including the save target in the Makefile, needed
  29. by the map server for save/mapreg.txt. (bugreport:131) [FlavioJS]
  30. 2007/09/27
  31. * Loot code using charid's instead of id's in pick priority.
  32. * configure script using svn:eol-style LF and require mysql/pcre when
  33. --with-mysql/pcre is used.
  34. * Reimplemented mmo_char_fromsql using sql statements. (fixes bugreport:93)
  35. * Fixed buildin_gethominfo not being included in the script engine. (bugreport:124)
  36. * homunculus_evolution -> homevolution in script_commands.txt.
  37. * Deleted item DEFAULT from item_db.txt and regenerated item_db.sql. (bugreport:103)
  38. * Skip empty lines and give more feedback (for invalid lines) when reading
  39. item_db.txt/item_db2.txt. [FlavioJS]
  40. 2007/09/26
  41. * Rev. 11307 Implemented Token of Siegfried effect care of Zephyrus_CR. [L0ne_W0lf]
  42. 2007/09/25
  43. * Modified a bit the hard/lazy ai triggers to match aegis (you can alter
  44. these changing the defines near the beginning of mob.c):
  45. - Mobs go into active AI when they are 2 cells from entering a player's
  46. view (ACTIVE_AI_RANGE)
  47. - Mobs in passive AI no longer use skills.
  48. - Mobs in passive AI do not random walk UNLESS they have entered active AI
  49. before (random walk frequency is not lost during passive AI).
  50. * Added an additional check to prevent support skills from being blocked if
  51. the target has an armor element that blocks it. [Skotlex]
  52. * Fixed the double free's caused by r11290 (wrong option in the database
  53. constructors). [FlavioJS]
  54. * Corrected being able to cast multiple Gravitation Fields before the
  55. previous one is cancelled. [Skotlex]
  56. * Disabled tick cache (to enable it: define TICK_CACHE to the number of
  57. calls that should be cached).
  58. * Added a charid2sd database for fast charid searches.
  59. * Reworked the nick cache to only contain offline characters. [FlavioJS]
  60. 2007/09/24
  61. * Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
  62. * Updated the 'skills that cause no damage are blocked now if the skill
  63. element is blocked by the target' to only apply if the skill has a status
  64. change associated (fixes Resurrection/Heal being blocked).
  65. * Added a warning to prevent loading mobs with IDs that belong to the clone
  66. range. [Skotlex]
  67. * Limited manual detection of data truncation to string/enum/blob columns.
  68. * Renamed conf-tmpl to conf. [FlavioJS]
  69. 2007/09/23
  70. * Added flag svn:executable to the configure script.
  71. * Added code for MySQL versions (below 5.0) that don't have
  72. MYSQL_DATA_TRUNCATED.
  73. * map_addflooritem and struct item_drop_list using id's instead of
  74. struct map_session_data's (fixes bugreport:36).
  75. * Fixed buildin_escape_sql not properly escaping in sql servers. [FlavioJS]
  76. 2007/09/22
  77. * Fixed a severe bug in inventory saving code (caused by r11192)
  78. * Applied changes to clif_parse_globalmessage() from my WiP code
  79. - clearer processing of the individual packet components
  80. - proper code ordering, some more integrity checks
  81. - fixes to some poorly chosen ShowWarning() format strings
  82. - global chat logging no longer logs the entire string (w/ player name)
  83. * Fixed global chat logging always crashing on a null pointer
  84. * Added 'safestrnlen' to prevent null pointer crashes [ultramage]
  85. * Updated sql files [Playtester]
  86. * Added a sanity check for MAX_ZENY (doesn't compile if too big).
  87. * Redid the buildin_query_sql function. (fixes bugreport:81). [FlavioJS]
  88. 2007/09/21
  89. * itemdb.c/h using a static array of 32k struct item_data* entries (faster
  90. itemdb loockup and a first step to remove map_session_data->inventory_data).
  91. * Fixed a typo in the configure script that replaced CFLAGS with CPPFLAGS
  92. when -Wno-pointer-sign is supported by the compiler. [FlavioJS]
  93. * Fixed a typo in the status-change saving code (wrong variable used)
  94. * Fixed a case of bad sql code conversion breaking homun skill loading
  95. * Corrected skill Charge Attack as described in bugreport:67 [ultramage]
  96. - cast time is between 100% and 300% (+ infinite waiting fixed)
  97. - damage is also between 100% and 300% (doesn't increase past range 9)
  98. - added knockback that's equal to the distance to target
  99. - no longer causes teleportation on WoE grounds
  100. - if target runs behind an obstacle, the skill will still teleport you,
  101. but will not perform the attack or do knockback
  102. - this should be official behavior, so enjoy the weirdness!
  103. * Makefile deleting .svn in save folder.
  104. * Limited the number of packets parsed per cycle to 3.
  105. * Fixed sql login throwing an out-of-place debug message and escaping too
  106. much of the name string when creating a new login with _M/F.
  107. * Configure script detects 64bit distributions of MySQL.
  108. * Generated the configure script with cygwin's autoconf. [FlavioJS]
  109. 2007/09/20
  110. * Merged the tmpsql branch: [FlavioJS]
  111. - Abstraction for the sql code (sql.c/h).
  112. - New configure script and makefiles.
  113. - Restored txt zeny logging code. (r10814)
  114. - Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
  115. - Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
  116. - Improved db reading code a bit for consistency. (r11077)
  117. - Added separate atcommand for mail deletion. (r11077)
  118. - Corrected a few messages that said "new" instead of "unread". (r11077)
  119. - Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
  120. - Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
  121. - Some misc login server cleanups (reformatting etc). (r11136)
  122. - Corrected/modified some header entries. (r11141 r11147 11148)
  123. - Adjusted VS project files. (r11147)
  124. - Adjusted the way the sql charserver does item saving. (r11192)
  125. - Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
  126. 2007/09/17
  127. * Several skills with a splash area (except ground based ones) will now hit
  128. Ice-walls when casted by mobs.
  129. * Cleaned up and fixed monster_ai&0x40 (chase through warps). It works
  130. correctly now regardless of the number of players on the source/destination
  131. maps.
  132. * Updated sql files [Playtester]
  133. * Applied various crash-protections to script commands that deal with the
  134. equip-position array.
  135. * Corrected and simplified the skill_magic_reflect function. Fixed damage
  136. reflection being based on the caster rather than the target.
  137. * Potions are now usable inside Gospel by the casting Paladin (as per Aegis
  138. tests done by AuronX)
  139. 2007/09/14
  140. * Some changes brought up by AuronX (see topics 160295 and 149176):
  141. * Gravitional Field is now a MISC type of attack.
  142. * Magic reflection now effectively switches the caster/target (after damage
  143. has been calculated). Moved magic return and Magic Mirror code together
  144. with Kaite.
  145. * Now when GTB completely blocks a spell, the spell animation will still
  146. come off, but with a single bolt and MISS damage.
  147. * Removed hom_setting&0x2 since Homunculus can be hit by land spells.
  148. * Monster Property now gives a Skill Failed message when attempted on
  149. players.
  150. 2007/09/13
  151. * Corrected SG Miracle to trigger per attack, not per walked tile. Trigger
  152. rate is now 0.02%
  153. * Corrected the warmth skills not clearing up correctly the previous field
  154. when you place another one down.
  155. * Corrected vit not affecting the HP bonus that Super Novices, Ninjas and
  156. Gunslingers get. [Skotlex]
  157. 2007/09/12
  158. * Fixed a typo in r11179 causing party invitation to fail
  159. * Added SI_STEELBODY properly (value from packet capture) [ultramage]
  160. 2007/09/10
  161. * Corrected /invite letting you invite people even if you are not the party
  162. leader.
  163. * Added some reply messages when you try /invite and a. the character is
  164. not found or b. you are not the party leader.
  165. * Added a check so that the 'save on crash' routine won't get stuck if it
  166. happens to crash while attempting to save characters.
  167. * People in chat-rooms no longer receive @main messages. [Skotlex]
  168. 2007/09/10
  169. * Added a safeguard to skill_get_unit_layout() against incorrectly
  170. defined layout ids (will give weird results but won't crash at least)
  171. * Fixed Firewall/Icewall being oriented backwards (no real difference..)
  172. * Removed some junk Landprotector/Graffiti code
  173. - Graffiti doesn't get placed randomly anymore
  174. * Icewall can now be cast on yourself
  175. - TODO: for some reason, the cell on yourself immediately expires...
  176. * Merged together functions clif_set0192() and clif_changemapcell()
  177. - also removed its "send to whole map" mode which is just plain wrong
  178. (although aegis actually does use it to 'inform' caster about changes)
  179. * Added config option to adjust exp gained by 'getexp' [ultramage]
  180. 2007/09/09
  181. * Removed bonus bAddEffWhenHitShort as it is unneeded and unused.
  182. * Corrected getpetinfo so it actually returns "null" when there's no pet
  183. and you request the name (the docs state it so).
  184. * Added gethominfo (which behaves in the same way as getpetinfo).
  185. * Corrected bonus3 bAutoSpell(WhenHit) to select target enemy (rather than
  186. self) for skills with inf self and inf2 'don't target self' (aka:
  187. auto-select target skills).
  188. * Corrected map_foreachinpath to do a wall check for targets beyond the
  189. initially selected tile.
  190. 2007/09/09
  191. * Modified bonus3 bAddEff/bAddEffWhenHit so that the last parameter is now
  192. passed directly as "trigger" flag. The possible trigger values are
  193. ATF_LONG, ATF_SHORT, ATF_TARGET, ATF_SELF. Explanation added to
  194. doc/item_bonus.txt [Skotlex]
  195. * Updated sql files [Playtester]
  196. 2007/09/08
  197. * Adjusted a spot that still blocked GL's skills on login [ultramage]
  198. 2007/09/07
  199. * Added support for the new party invite/reply packets from the latest
  200. client version.
  201. * Added auto-rejecting party/guild invites when the target is disconnected
  202. from the server.
  203. * Changed the default @Main format to prevent crashes in the newer
  204. clients.
  205. 2007/09/04
  206. * bonus3 autospell (and autospell when hit) will now select for spell
  207. target self when the skill is tagged a support skill.
  208. * Increased the amount of autospells that can be held at a time from 10 to
  209. 15
  210. * Changed the "autocasted strip skills don't have a duration" to apply only
  211. to Full Strip.
  212. * Magic Mirror's duration now is reduced /15 when used on players.
  213. * Removed bonus bAddDamageByClass since it is not needed, and implemented
  214. bAddDefClass which can be used for the same purpose (but previously was
  215. doing nothing).
  216. 2007/09/03
  217. * Added bonuses bSPRegenRate, bHPRegenRate. They behave like the opposite
  218. of bHPLossRate/bSPLossRate, making you gain x Hp/Sp every y ms.
  219. * Added bonus bIgnoreMdefRate, used to ignore a % of the target's mdef when
  220. using magic attacks (bonus2 will ignore part of the mdef of all targets,
  221. bonus3 receives a race argument)
  222. * You can now use bonus2 bCastRate to adjust the cast rate of a single
  223. skill.
  224. * Cleaned the code for bleeding (hp-loss) and extended it to handle regen
  225. as well.
  226. * Some small cleanups in the pc_bonus functions.
  227. * Removed bonus3 bHpLossRate since it was doing nothing and is not used.
  228. * Corrected bGetZeny bonus to be like in Aegis. The amount received is from
  229. 1 to the given amount, you can use negative zeny values to use an amount
  230. dependant on mob's level (amount*lv).
  231. * Updated doc/item_bonus.txt with all these changes.
  232. * Anti-Magic/Stone-Skin now increase/decrease def/mdef only and in an
  233. absolute mode (+20*lv rather than +20%*lv). Also the duration is greatly
  234. decreased (x/15) when used on players.
  235. * Now when a player uses a strip skill without having it in the skill tree
  236. (auto-casted) the duration will be 0, the equipment will be stripped
  237. without causing the status change that blocks reequipping.
  238. 2007/09/02
  239. * Added @whereis command (displays normal spawn maps for given mobs).
  240. Defaults to a lv10 command. [Skotlex]
  241. * Updated Refined Sakkat Box to give only 1 Sakkat instead of 10. [Paradox924X]
  242. 2007/08/31
  243. * Added some comments to clif_changechatowner()
  244. - totally broken, see the code + topic:163829
  245. * Implemented the chatroom display packet properly
  246. - now has 4 types: public, private, npc and non-clickable npc chatroom
  247. * Implemented the chatroom leave packet properly
  248. - now utilizes the 'kicked' flag when the user was forced to leave
  249. - TODO: banlist support to prevent re-entry, see jAthena code
  250. * Documented/cleaned up chatroom code and packetry [ultramage]
  251. 2007/08/30
  252. * Updated sql files [Playtester]
  253. 2007/08/29
  254. * Added bonus bSkillHeal to distinguish offensive skill damage increases
  255. from healing power boosts.
  256. * Moved battle_skillatk_bonus to pc.c, cleaned up the related skillatk
  257. bonus code to consider the skillheal bonus option. [Skotlex]
  258. 2007/08/23
  259. * Updated athena-start & start to Shazeya's hack. Please test them! [DracoRPG]
  260. - Simplest way is to run ./start that is equivalent to Windows runserver_sql.bat
  261. - To run TXT instead, edit the beginning of athena-start with proper filenames
  262. 2007/08/22
  263. * Fixed Dragon Fear's status change selection and duration.
  264. * Fixed Metamorphosis not displaying a speed-change update on the client.
  265. * Status changes that were blocked by element are no longer blocked,
  266. instead, now no-damage skills are blocked if they have an element which is
  267. absorbed by the target (This is the behaviour that Tharis believes is
  268. correct). [Skotlex]
  269. 2007/08/19
  270. * Set proper limits to drop rates, prevents int overflow during calc
  271. * Cleaned/clarified some #include relationships between headers
  272. - TODO: pc_read_gm_account() still accessses the RFIFO directly!
  273. * Again removed the IG_ list from itemdb.h (see r10100 and r10113)
  274. 2007/08/18
  275. * Fixed a deallocation mistake and some buffer overflows in npc_chat.c
  276. after doing rtfm@pcre.txt (all caused by incorrect usage of pcre api)
  277. * Removed underscores in npc_chat.c's variable names (easier to read)
  278. * Moved npc pcre-data deallocation from npc_remove_map to npc_unload
  279. 2007/08/17
  280. * Implemented the official dual-wield aspd equation [ultramage]
  281. - using 0.7 instead of 0.66 as modifier (so aspd will be lower now)
  282. - see topic:151132 for details
  283. 2007/08/16
  284. * Fixed eAthena's wrong interpretation of the respawn times [Playtester]
  285. * Added icons for NPC_CRITICALWOUND and NPC_SLOWCAST [Playtester]
  286. * Fixed npc chatrooms not being deleted on npc unload/reload (crash)
  287. * Modified chat code a bit for more clarity [ultramage]
  288. - replaced double-indirection on 'owner' with a normal pointer
  289. - separated some common functionality to 'chat_createchat()'
  290. 2007/08/15
  291. * Merged and completed Latio's work on server-side hot-key saving
  292. (http://www.eathena.ws/board/index.php?s=&showtopic=159388&view=findpost&p=884453):
  293. Now hotkeys are stored server-side (table hotkey in SQL servers, file
  294. save/hotkeys.txt for TXT servers). You can disable this behaviour by
  295. commenting out the 'HOTKEY_SAVING' define in mmo.h
  296. * Apply upgrade_svn11018.sql to create the hotkey table. [Skotlex]
  297. * Some serious code cleanups
  298. - adjusted @reloadbattleconf to not depend on variable ordering
  299. - changed all battle vars to 'int' (removes pointless duplicit coding)
  300. - added min, max and default columns to battle config data structure
  301. - added properly bounded values for these columns (or at least tried to)
  302. - battle-conf loading will now complain if it finds unknown settings,
  303. and will reject values that are outside of the allowed range
  304. - added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE
  305. - partially cleaned up chatroom manipulation code
  306. 2007/08/13
  307. * Modified map_foreachinrange so that you can also specify the max length
  308. of the path to use. The max_count field in the skill_db is used to specify
  309. this range for path-type skills (Sharpshooting, Kamaitachi and the NPC
  310. Breath skills.
  311. * Implemented the 'new' NPC skills described here:
  312. http://ro.doddlercon.com/wiki/index.php?title=Monster_Skills . It is mostly
  313. complete, but the new status changes (slow cast, critical wounds, etc)
  314. don't have any visual effects yet (icon or opt changes? I don't know if
  315. they should have). Also I could not find the unit_id for Evil Land, so it
  316. looks just like Sanctuary for now. Apart from those, the only skills which
  317. I couldn't get to display properly are the Breath skills (with the
  318. exception of Fire Breath).
  319. * Corrected gtb_sc_immunity setting not taking effect if your block value was
  320. the same (that is, if the config said 30%, then you would only get status
  321. change immunity at 31%, nor 30%) [Skotlex]
  322. * Fixed a small error in the script_commands documentation about getpartyleader. [Paradox924X]
  323. * Corrected skill-based hp/sp regen, expect slight increase [ultramage]
  324. 2007/08/10
  325. * Updated item_db.sql [Playtester]
  326. 2007/08/09
  327. * The new functions now clear junk from the output buffer [ultramage]
  328. 2007/08/08
  329. * Moved damage logging to mob_log_damage, now non-damage targetted (or
  330. splash) skills also get logged into the monster's 'damage history' which
  331. affects the exp-bonus per attacker setting.
  332. * Implemented the evolution stat growth bonuses for homunculus.
  333. * Updated the @homstats command to show evolution bonuses
  334. * Corrected initial intimacy of a newly created homunculus (should be
  335. 21/1000) [Skotlex]
  336. * Cleaned up junk left in the code by the mapcache/mapindex update
  337. - Added mapindex_getmapname(_ext) to help with ".gat" adding/removing
  338. - Moved related processing to the interface (prevents duplicity)
  339. 2007/08/07
  340. * Expanded isloggedin script command to support an optional argument (char id)
  341. * Expanded warpparty command to accept target "Leader", this will warp the
  342. party to the leader.
  343. * Added a summon structure to handle non-dead-branch mob-groups since the
  344. current implementation totally fails for mob groups that don't have MANY
  345. integrants.
  346. * Fixed mobs not attempting an IDLE skill right before unlocking a target.
  347. [Skotlex]
  348. 2007/08/06
  349. * Slightly deobfuscated the max-hp calculation functionality
  350. - fixed hp/sp calc code adding extra few points from item bonuses
  351. * Added a null-pointer check to skill_initunit() to prevent a crash
  352. * Added a while() loop to the client packet processor (for performance)
  353. * Added support for kRO 2007-05-14aSakexe langtype 0 login packet 0x2b0
  354. 2007/08/04
  355. * Removed weird mvp reward item drop behavior (see topic:160077)
  356. * Fixed Cart Revolution not transferring status effects on attack,
  357. and Cart Termination doing it when it shouldn't (see topic:156745)
  358. * Fixed #refine not accepting names with spaces in them
  359. * Fixed disguises not doing sit-down properly (missing self packet)
  360. broken since r6299 stable / r5833 trunk [ultramage]
  361. 2007/07/30
  362. * Updated sql files [Playtester]
  363. * Corrected pet taming code; items are consumed immediately and only 1x
  364. - TODO: add proper code for people who want delayed consumption
  365. 2007/07/28
  366. * Removed ridiculous refine_posword config switch
  367. - TODO: remove getequipname() func, it can be fully replaced by editing
  368. a few scripts, plus it doesn't do what the docs say it should do
  369. * Fixed a silly mistake in the main script engine loop ('pos' variable)
  370. * Fixed monter -> monster typos
  371. * Compacted some script function code (fewer LoC -> faster trac ^^)
  372. 2007/07/27
  373. * Simplified exp gain equations (now more FPU-friendly and precise)
  374. - also fixes the uninitialized variable problem... sorry 'bout that >.>
  375. * Changed the way hit bonus is applied.
  376. http://www.eathena.ws/board/index.php?showtopic=157438 [Vicious]
  377. * Cleaned up mob drop code, crashfix is still needed though...
  378. * Reduced ignore-list length to 20, added proper reply packet
  379. * Cleaned up some very poorly written pm-ignore code (see r141)
  380. * Fixed a typo in Warp Portal code displaying an incorrect map name
  381. 2007/07/25
  382. * Fixed a missing homunculus info packet when doing @refresh
  383. * Added support for character rename packet (only dummy code for now)
  384. * Added support for langtype-12 char deletion packet (tested, works)
  385. * Synchronized txt/sql charserver code a bit
  386. * Adjusted motd.txt to not crash new clients
  387. * Removed some dead code from the charserver (see r352)
  388. 2007/07/24
  389. * Fixes on Venom Splasher and the like (see topic:152975) [DracoRPG]
  390. - VS / Envenom / Throw Venom Knife poison chance raised to 10+4*lv %
  391. - Removed chance to be poisoned when hit if you're a VS time-bomb
  392. - Adjusted bomb timer to correct values (5.5+0.5*lv sec)
  393. - Removed damage boost from Poison React
  394. - Now ignores EDP damage boost
  395. - Prevented use on bosses
  396. - Fixes still needed for recast restriction and splash damage
  397. * Removed Emperium-damaging ability from Gloria Domini [DracoRPG]
  398. 2007/07/23
  399. * Changed the restricting mapflag for @jump from nowarp/nowarpto
  400. to noteleport. Adjust your scripts if you were using it this way.
  401. 2007/07/20
  402. * Corrected packet_db.txt. See topic:158382 for details.
  403. As a side-effect, the latest packet version is now 22 instead of 21.
  404. * Added a charserver config option for the character renaming flag,
  405. along with a detailed comment on what it's supposed to be. This
  406. eliminates all that "change PACKETVER to 8 and recompile" mess.
  407. * Moved PACKETVER back to clif.h, cleaned the related code a bit.
  408. 2007/07/18
  409. * Added delay_dependon_agi since people actually use and need it...
  410. * Small update to the effects list (new exe's effects by Au{R}oN)
  411. * No sending of the pet_equip packet when pet has no equip (thx2Skotlex)
  412. * Added back exp gain limiting for old formula to stop exploits (see r8177)
  413. * Now a message is printed when the packet_ver filter rejects someone
  414. * Renamed two structs using same name as variables (MSVC debugger issue)
  415. 2007/07/13
  416. * Fixed yet another script engine typo, this time in 'copyarray' [ultramage]
  417. 2007/07/09
  418. * Rev. 10872 Removed a comment I had placed on line 6879 in Skill.c. [L0ne_W0lf]
  419. * Rev. 10870 Alchemist skill "AM_CANNIBALIZE" ("Summon_Flora") now [L0ne_W0lf]
  420. summons the proper monsters.
  421. 2007/07/07
  422. * Fixed typo in 'deletearray' messing up the script engine
  423. * Added a check to pc_skill() to prevent crashes on unknown skill ids
  424. 2007/07/06
  425. * Cleaned up some nasty code related to skill_blown
  426. - split 'direction' value from flags
  427. - moved (almost) entire direction calculating code to the outside
  428. - bowling bash now has the 'suck-in' effect (knockback is now done
  429. in the direction you were last facing, not in your-target direction)
  430. 2007/07/05
  431. * Fixed pet equip and pet hairstyle packet sends [ultramage]
  432. * Fixed NPC_STOP's visual effect not clearing when the status ends
  433. * Corrected @homshuffle making the skill tree be lost.
  434. * Corrected homunculus skills being unusable if the master was sitting or
  435. inflicted by a disabling status (eg: petrify, stun)
  436. * Some fixes to the cell no stacking mod (mainly mobs would just get stuck
  437. behind each other and not properly surround you). [Skotlex]
  438. 2007/07/04
  439. * Fixed a copy-paste typo messing up script variables pretty bad D:
  440. 2007/07/03
  441. * Fixed a typo in script engine erroring when working with char params
  442. * Made Homun Resurrection only fail on cast-end (see topic:155223)
  443. * Re-coded 'soundeffectall'; removed the third parameter ('coverage')
  444. - adjust your scripts if you use this command [ultramage]
  445. * Defined out a problematic piece code in conv_num.
  446. * Added reporting of constant and param script data.
  447. * Fixed an incorrect check in menu script command. [FlavioJS]
  448. 2007/07/02
  449. * Undid the change from r10298, frozen status again modifies def/mdef
  450. 2007/07/01
  451. * TXT->SQL converter fixup [ultramage]
  452. - Added missing char_id insert which totally messed up the conversion
  453. - Fixed login converter ignoring many columns (although it had the data)
  454. - Pointed out that Login-stored account variable conversion is MISSING!
  455. - Pointed out that Status, Homunculus and Mapreg conversion is MISSING!
  456. - Blocked the config functions from exiting server when file not found
  457. - Finally added VS8 project files for this thing
  458. 2007/06/28
  459. * Added a missing line to enable @displayskill atcommand [DracoRPG]
  460. 2007/06/26
  461. * Changed the string hash of the script engine to SDBM.
  462. * Reporting information about script data when an error occurs.
  463. * More work on ticket #41 (array functions). [FlavioJS]
  464. 2007/06/22
  465. * Changed behavior of some guild-related code (according to X.4 tests):
  466. - removed code that prevented Homunculus Resurrection during WoE
  467. - logging in doesn't activate the 5 minute guild skill block anymore
  468. - non-Urgent guild skills can now only be cast on WoE grounds during WoE
  469. - all guild skills now have no cast delay (previously was 1 second)
  470. - casting guild skills will now block FreeCast sages from walking
  471. - Battle Orders and Regeneration are now instacast
  472. - Restoration now has a 10 second cast time, reducible only by dex
  473. - Urgent Call's cast cannot be reduced anymore (not even by items)
  474. 2007/06/15
  475. * Fixed script command sc_end not supporting the extra argument as stated
  476. in script_commands.txt.
  477. * Script command getarg supports an extra argument with a default value
  478. that is returned if the requested argument doesn't exist. [FlavioJS]
  479. 2007/06/11
  480. * Fixed NPC_PROVOCATION (now the casting mob doesn't keep attacking)
  481. * accumulated clif.c fixes [ultramage]
  482. - Fixed pet equip not displaying correctly at all
  483. - Removed old fixpos packet (the 'new' one is way smaller)
  484. - Fixed some major logical typos in the code, cleaned up many places
  485. 2007/06/10
  486. * Rev. 10745 Updated itemdb.h with the two new item group values.
  487. (38 and 39) Why are they static anyway? [L0ne_W0lf]
  488. 2007/06/09
  489. * Added 'nosave' mapflag to que_bingo for Bingo system purposes. [SinSloth]
  490. 2007/06/04
  491. * Fixed the compilation problem from r10668
  492. 2007/06/03
  493. * Fixed a bad copy-paste from r10028 letting players escape jail
  494. (char was dead on login, so statuses (SC_JAILED) couln't be applied)
  495. * Fixed missing client update when 'return to savepoint' fails [ultramage]
  496. 2007/06/02
  497. * Displaying op names instead of numbers in script engine errors.
  498. * Fixed a bug introduced in the last rework of the fame ranking.
  499. * Created safestrncpy that ensures the string is nul-terminated. [FlavioJS]
  500. 2007/06/01
  501. * Updated sql files [Playtester]
  502. * Fixed ircbot not processing new users
  503. 2007/05/29
  504. * Hopefully fixed the vsnprintf incompatibility
  505. 2007/05/28
  506. * Fixed an infinite char-server loop on the map connection [ultramage]
  507. * RFIFOREST returns 0 when the session is eof (input data is implicitly
  508. discarted).
  509. * Reworked the player fame update: [FlavioJS]
  510. - would crash if an invalid pos was received
  511. - the wrong player could be updated on certain conditions
  512. 2007/05/26
  513. * Identified several more glitches, too tired to fix these...
  514. * Fixed server not removing member minimap dot when you leave a guild
  515. * Fixed server not sending party/guild info when you enter a map
  516. * Fixed guild emblem not showing when you log in (caused by r5359)
  517. 2007/05/25
  518. * Fixed @statall giving you +99 stats instead of setting them to 99
  519. * Fixed npctalk and @npctalk displaying the # part of the name
  520. (client filters these when you request the name of the npc, btw...)
  521. 2007/05/23
  522. * Added new flag to skill_castnodex.txt, to allow per-skill tweaking
  523. of cast time and delay reducibility by item scripts (cards and such)
  524. * Fixed Martyr's Reckoning never triggering for gms with all skills
  525. * Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter
  526. * Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
  527. * Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
  528. * Changed a few memsets to strncpy (reading past buffer is a bad idea)
  529. * Sped up some memset operations (multiples of 4 are faster)
  530. * Fixed a typo in Chase Walk code, /thx to zephyrus_cr [ultramage]
  531. 2007/05/22
  532. * Updated sql files [Playtester]
  533. 2007/05/21
  534. * Since the fifohead mess is gone, fixed leftover bad code structuring
  535. * Removed the TURBO socket mechanism - it was in fact just using a
  536. variable to cache a few arithmetic operations (premature optimization)
  537. 2007/05/20
  538. * Fixed Chase Walk having a deactivation cast time (should be instant)
  539. * Changed status calc to allow value 0 stats; aegis allows
  540. negative values, but eA is unsigned in this regard, so ...
  541. * Added positional music effect to Battle Chant / Gospel
  542. - see r10588 on how to disable it if it annoys you ^^;
  543. 2007/05/19
  544. * Added Global chat and Main chat logging
  545. - lowered the priority of the 'logging off during gw' filter
  546. * Fixed server crashes when you use long hostnames (/thx to Ancyker)
  547. * Removed the wtf-y mmo_char_fromsql_short() from r2527 [ultramage]
  548. * Fixed drops of Thanatos Dolor & Thanatos Odium regarding the quest. [SinSloth]
  549. * SQL files fixup
  550. - extended convert_engine_myisam and added innodb version
  551. - changed the max. email length to 39 (to match value in source code)
  552. - added comment for storage/guild storage picklog entries
  553. - changed SETs to ENUMs, which is the proper data type in logs
  554. - fixed incorrect defaults, shortened mapname lengths to 11
  555. - use upgrade_svn10575_*.sql to apply changes
  556. * Removed the vsnprintf->_vsnprintf define for VS9 [ultramage]
  557. * Corrected the problem with countitem2 [ultramage]
  558. 2007/05/14
  559. * Updated sql files [Toms]
  560. 2007/05/11
  561. * Updated the effect list a bit, changes by Au{R}oN
  562. * Re-phrased the attacker flee/def penalty config descs [ultramage]
  563. Ref: http://www.eathena.ws/board/index.php?showtopic=150918
  564. * Attempt to fix unwanted teleporting of immobile mobs [Playtester]
  565. 2007/05/10
  566. * Adapted the shortlist to use a static array instead of a linked list and
  567. enabled it.
  568. * Added Buuyo-Tama's shortlist for send/eof sockets (defined out for now).
  569. * Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines. [FlavioJS]
  570. 2007/05/07
  571. * Fixed warpwaitingpc not working (bug introduced in r10471). [FlavioJS]
  572. * Added a check to login_sql against too long db-stored emails [ultramage]
  573. * Removed an unused variable in script.c [Toms]
  574. * Fixed Converters not overwriting each other [Playtester]
  575. - thanks to scerez for the fix
  576. 2007/05/06
  577. * Removed the dependency on winsock.h for definitions, it's all winsock2.h now.
  578. * Minor documentation/re-coding in chat.c.
  579. * More work on ticket #41. [FLavioJS]
  580. * Fixed Red Pouch overriding nobranch mapflag [Playtester]
  581. * Attempt to fix Kyrie Eleison not castable on enemy players [Playtester]
  582. - please test, I can't double client to test it in pvp
  583. - don't forget to recompile before testing
  584. 2007/05/04
  585. * Added an optional read-from-GRF/GAT map loading system back in.
  586. - It can be turned on with the use_grf flag in map_athena.conf.
  587. - The conf/grf-files.txt becomes relevant again. [blackhole89]
  588. * Removed the cyclic map.h<->status.h dependency, which allowed me to
  589. also remove the annoying/memory-wasting MAX_STATUSCHANGE define
  590. 2007/04/30
  591. * Ladmin fixes
  592. - Added vs8 project file for ladmin
  593. - Replaced all occurences of printf in ladmin.c with ShowMessage
  594. - Fixed ladmin working with ips using the wrong byte orer
  595. * Fixed @jumpto displaying the incorrect player name
  596. * Added more safeguards to socket.c against socket ids out of range
  597. TODO: session[] array isn't explicitly zeroed; is that a good thing?
  598. 2007/04/29
  599. * Fixed login_sql ipbans not working
  600. * login server will now bind only after finishing the init phase
  601. * Tried and fixed md5 password encryption [ultramage]
  602. - login_sql was doing stupid things like re-using one pre-generated
  603. key for all connections, and escaping binary md5 data (destroying it)
  604. - added missing code to login_txt when creating new accounts, showing
  605. that storing passwords as md5 hashes never really worked for txt
  606. - removed PASSWORDENC's conditional compilation effect, now just a flag
  607. - greatly simplified md5 password checking code, credits to eapp
  608. * Internal changes to the script engine: [FlavioJS]
  609. - modulus division detects division by 0.
  610. dividing by zero stops the script and gives an error
  611. - underflow/overflow messages differentiated (warnings)
  612. - when a script function doesn't return a value, a C_NOP value is pushed
  613. instead (avoids stack corruption)
  614. - op_add merged with op_2+op_2num/op2_str
  615. - better type checking in the operators, int/string is never assumed.
  616. The script ends when an invalid type is found.
  617. - other minor code cleanups
  618. 2007/04/26
  619. * Corrected High Jump so it works on Guild Castles when WoE is off.
  620. * Moonlit petals now always knocks to the back of the character rather than
  621. pushing the character away from it's center.
  622. 2007/04/25
  623. * Modified the mob ai think time update after using skills from
  624. adelay/amotion to 100ms since the previous method adds a large delay before
  625. the AI activates again (which screws up with the timing of idle/walk
  626. skills)
  627. * NPC_MAGICALATTACK now starts a state similar to Sacrificial Ritual, in
  628. the sense that every normal attack afterwards becomes a Magical Attack. The
  629. skill duration is 15 secs. [Skotlex]
  630. * Added missing Rachel quest map [Playtester]
  631. * Ganbantein now deletes individual skill cells instead of the whole skill
  632. in the area it is casted.
  633. * Modified the mob total damage code to prevent overflows when mobs receive
  634. over 2kM damage. [Skotlex]
  635. * Spider Web / Fiber Lock status cannot be dispelled now [ultramage]
  636. 2007/04/24
  637. * All mob casted skills have a fixed range of 9 now.
  638. * Pressure no longer vaporizes plants.
  639. 2007/04/23
  640. * Fixed bug which totally broke item group bonuses.
  641. * Added warnings when setting a pvp/gvg flag removes the other flags on the
  642. same map (gvg and pvp can't coexist on the same map)
  643. * Removed the check that prevented you from casting soul-collect when you
  644. already have 5 spirits.
  645. * Corrected Magic Rod so it doesn't displays any skill-use animation until
  646. it triggers.
  647. * Corrected Steel Body's icon (it actually belongs to AutoBerserk)
  648. * Debuff on logout&2 is again set to default, instead of removing food
  649. bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body.
  650. [Skotlex]
  651. * Extended the functionality of StringBuf - length and appending a string.
  652. * menu/select/prompt script functions support grouped and empty options.
  653. The selected option number is consistent with them.
  654. * More work on ticket #41. [FlavioJS]
  655. 2007/04/22
  656. * Corrected crash if itemskill is used without an attached player.
  657. * Removed range checks for autospells as per UltraMage Aegis tests.
  658. * Added chatID skill fail check to skill_check_condition
  659. * Corrected @refresh not re-displaying your spirit spheres nor re-setting
  660. your cloth dye.
  661. * Now the "number of attackers" in mob_dead is counted only from online
  662. characters on the same map.
  663. * Updated the autospell bonus scripts so you don't have to specify all the
  664. attack type criteria. If neither of BF_LONG/BF_SHORT is specified, the
  665. spell will trigger on both. If neither of BF_WEAPON/BF_MAGIC/BF_MISC is
  666. specified, the spell will trigger on BF_WEAPON, if neither of
  667. BF_NORMAL/BF_SKILL is specified, BF_SKILL is used if the trigger is
  668. BF_MAGIC/BF_MISC and BF_NORMAL is used if the attack is BF_WEAPON. This way
  669. the default when nothing is specified is
  670. BF_NORMAL|BF_WEAPON|BF_SHORT|BF_LONG. [Skotlex]
  671. 2007/04/21
  672. * Removed the +25% mdef, -50% def effect from Freeze status
  673. * Changed autocast skills, they now only work with normal attacks!
  674. Ref: http://www.eathena.ws/board/index.php?showtopic=138159
  675. * Fixed a few spots where attack_type was getting truncated
  676. * Hopefully fixed the cygwin + size_t problem (using stddef.h as source)
  677. * Added ntows() to properly handle that client port number deficiency
  678. * Adjusted the packet_db array for a more consistent look [ultramage]
  679. 2007/04/20
  680. * Cleaned up the doc folder. Removed outdated, untranslated, useless files
  681. and began normalizing a bit other ones~ [DracoRPG]
  682. 2007/04/18
  683. * Added MEXP overflow checks. [LuzZza]
  684. * Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to
  685. specify when the spell should trigger (melee/range + weapon/magic/misc
  686. attack), see doc/item_bonus.txt for details. [Skotlex]
  687. * Changed some %lu to %u in login_sql/login.c because uint32 is now
  688. an unsigned int [Toms]
  689. * Discarded extra deflate function needed for afm reading [ultramage]
  690. - as a result, discarded the whole chain of support functions, .c files
  691. and includes needed to make that one function run
  692. - also removed zlib compile/link dependencies where they are not needed
  693. - reduced the whole zlib package into two core include files
  694. - adjusted makefiles / project files to reflect this change
  695. 2007/04/17
  696. * Massive at+charcommand cleanup, big thanks to HiddenDragon [DracoRPG]
  697. * Partially deobfuscated the grfio module
  698. * Finally fixed mingw problems, managed to build both TXT and SQL
  699. * Fixed the uint32 platform problem (Microsoft failed so I removed it :)
  700. * Removed the cbasetypes.h dependency from the mapcache generator
  701. * Removed some random compilation warnings [ultramage]
  702. * Small bugfixes and enhancements to the map cache generator [DracoRPG]
  703. 2007/04/15
  704. * Fixed 'randomtarget' picking dead characters.
  705. * Adjusted Spiral Pierce, Shield Boomerang and Shield Chain to use atk2
  706. instead of weight when used by non-players.
  707. * Adjusted skills blindAttack, SilenceAttack, StunAttack, PetrifyAttack,
  708. CurseAttack, SleepAttack, Lex Divina and Dispell to be area effect skills,
  709. if the used skill level has a splash-range different from 0.
  710. * Mob used Meteor Assault is able to hit icewalls now. [Skotlex]
  711. 2007/04/15
  712. * Fixed TXT char creation blocking characters with nonstandard names
  713. 2007/04/13
  714. * Committing some accumulated stuff [ultramage]
  715. - makefile typo, maps_athena typo, svn:eol-style native for some files
  716. * Changed the meaning of inf2=0x1000. Now it is used to "disable usage on
  717. enemies", which only works for non-aggressive (inf!=1) skills.
  718. * If a skill is party/guild only (inf2 0x400/0x800) it will also be
  719. castable on enemies if the skill's inf is 1 (offensive target)
  720. * Corrected the mob behaviour when it locks into an enemy it can't chase.
  721. Previously it would get stuck on a lock->unlock->lock loop, with each
  722. unlock resetting the "random walk" timer, causing the mob to just idle in
  723. place. Now they will attempt idle skills and no longer reset the "random
  724. walk" timer, so they behave as if they were in Idle state properly.
  725. * Now the bonus bAtkEle will be transferred directly to the weapon when the
  726. script is in the ammunition, and you are wielding a weapon that consumes
  727. ammo per atttack.
  728. 2007/04/12
  729. * Trade-requests now fail if the target is in a NPC.
  730. * Some cleaning of the castend_map code to prevent the menuskill variable
  731. from not being cleared if you made a choice but the skill was not triggered
  732. (due to silence, stun or whatever)
  733. * Cleaned up a bit the Charge Attack casttime equation, should prevent
  734. infinite casttime when the distance is 0.
  735. 2007/04/11
  736. * Now when an object changes speed, the old move-packet will be used on the
  737. next movement, which should update the object's speed from that point and
  738. on-wards. This is done since there appears to be no way to tell the client
  739. a given object's speed has changed.
  740. * Modified spirit of Wizard so that the consumption of 'Fragments' when
  741. blocking bounced spells will only consume 1 Fragment per skill casted,
  742. regardless of how many hits were reflected.
  743. * Modified status_get_sc_def to handle both rate and tick reductions. This
  744. way it can take care of the fact that curse rate/duration reductions are
  745. not reduced by the same stats. Curse duration is now reduced by vit.
  746. [Skotlex]
  747. * Removed an ugly cast in socket.c
  748. * Fixed Makefile (-Wno-unused-parameter was added twice with gcc4) [Toms]
  749. 2007/04/10
  750. * Recoded and renamed the trim function in strlib to normalize_name.
  751. * Added a proper trim function to strlib.
  752. * Cleanups at npc source file adding/removing.
  753. * Changed db key from 'unsigned char*' to 'const char*'.
  754. * Defined out the dump function in util.h/c. [FlavioJS]
  755. * As an experiment Corrected many /W4 warnings on the txt login server
  756. * Played around with MinGW a bit today... [ultramage]
  757. - adjusted code so that it handles mingw-specific compatibility problems
  758. - adjusted the makefile, mingw is not a subset of cygwin
  759. 2007/04/09
  760. * Now when saving a character, only the cart/peco/falcon 'option' states
  761. are saved, the rest should be handled by the status change load/save
  762. functions. This saves 'permanent' cloaking/hiding and other such oddities
  763. if the server is unable to save your status changes on logout.
  764. * Updated some Guild WoE rules to behave as explained here:
  765. http://www.eathena.ws/board/index.php?showtopic=146581 [Skotlex]
  766. 2007/04/08
  767. * Fixed the platform-specific stricmp compilation problem
  768. * Fixed inverted vending tax equation (!) and made it more precise
  769. * Moved e_mail_check() and config_switch() to strlib.h
  770. * Synchronized the login servers a bit
  771. 2007/04/07
  772. * Disabled the exception handler on windows debug builds
  773. * Fixed Devotion using WE_BABY's status icon (now uses no icon);
  774. if you have a way to determine the correct number, give feedback
  775. * Updated the server's PCRE components to 7.0
  776. - dll, library, header
  777. - cleaned the only existing example and moved it to /samples
  778. - changed the interface, now $@ is used instead of $ to store the result
  779. - /!\ adjust your scripts if you are using npc regexp parsing /!\
  780. * Fixed the start_point setting smashing t3h stack in some situations
  781. * Fixed some over/under-dimensioned arrays (defines already cover the '\0')
  782. * Fixed an unupdated define making Warp Portal fail with an error [ultramage]
  783. * Final touches to the whole map crap [DracoRPG]
  784. - changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
  785. uses where there is / may be the .gat extension, code adjusted accordingly
  786. - moved map_normalize_name to mapindex_normalize_name so that everything
  787. handling map names uses the same extension-removing function
  788. - greatly enhanced the map cache generator, complete documentation on the
  789. tool and the map cache format can be found in doc/
  790. - the map cache format changed a bit as a consequence, but of course a new
  791. valid one is included (contains latest Nameless Island maps)
  792. - and I'm sorry for the number of times I've moved around and renamed files,
  793. now the final structure should have been reached
  794. * Capped clif_heal's heal field (the argument received is int, but the
  795. packet field is short, meaning that if the heal is high enough, the client
  796. would receive a negative heal amount). [Skotlex]
  797. 2007/04/06
  798. * Made a crazy attempt to at least partially synchronize login&char code
  799. * Major edit to the way the servers handle ip addresses, making them obey
  800. the "host byte order inside, network byte order outside" rule [ultramage]
  801. - hopefully covered all entry- and exit-points for IP address data
  802. - discovered several places where Gravity's client breaks the convention,
  803. will need to come up with a suitable countermeasure for that
  804. - other than that, the code should be portable, except for printing and
  805. ipban mask testing (those still assume a specific byte order)
  806. - tested both txt and sql in all usual situations; tested single- and
  807. multi-server setups, all seems to work (but watch out for hidden bugs!)
  808. 2007/04/05
  809. * Cleaned @whogm. It will display the name of all gms online. If their GM
  810. level is above your own, it will only display their name, otherwise level,
  811. position, and party/guild info is displayed. GM's using gm-hide will not
  812. appear on this list.
  813. * Corrected song/dances/encores reducing SP at the incorrect intervals
  814. (either never, or every second).
  815. 2007/04/04
  816. * Corrected Longing for Freedom, it should triple SP cost rather than
  817. modifying SP cost to 1/sec
  818. * SC_ENCHANTARMS will no longer fail to start if it's already running with
  819. a "higher elemental level".
  820. * When trying to trade an untradeable item, the add-item-fail packet will
  821. be sent so the client does not gets stuck. [Skotlex]
  822. 2007/04/03
  823. * Some spring-cleaning in sql-files, only left SVN 8k+ files [DracoRPG]
  824. * Updated sql files [Playtester]
  825. * Fixed char-server crash on @changegm use.
  826. * Cleaned up mmo_auth, this function wasn't only poorly coded, it also had
  827. a SQL-related memory leak in it!
  828. * Corrected the attack_attr_none check being backwards (ie: this config was
  829. working backwards!)
  830. * All pets can now move regardless of their Mob counter part setting.
  831. [Skotlex]
  832. * Some source code cleaning
  833. - Fixed the badly worded messages during mapserver startup
  834. - Cleaned up socket config reading
  835. - Split resolve_hostbyname() into 2 separate functions for clarity
  836. - Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
  837. - Moved the badly placed compare_item() function to storage.c (see r779)
  838. * Fully removed the msvcr80.dll dependency from the vs8 project files
  839. 2007/04/02
  840. * Removed some overly verbose item group messages & code
  841. * re-added the item_group_list for consistency's sake, moved to itemdb.h
  842. (after some hacking to remove the ugly map.h dependency)
  843. * Fixed the server crashing on a timer-queued disguise / undisguise
  844. * Fixed the server crashing on startup due to bad define [ultramage]
  845. * Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
  846. matter, so it's no longer needed.
  847. * Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]
  848. 2007/03/31
  849. * Added all the missing defines for ctype.h functions and converted all
  850. the direct uses to the defines. [FlavioJS]
  851. 2007/03/30
  852. * Added "do_abort" function to the core. It is invoked when the server has
  853. received a Segmentation Fault or Floating Point Exception signal. Currently
  854. the only one that uses it is the map-server, which then attempts to save
  855. all online characters before aborting. Note that due to the current
  856. coding of the sig plugin, do_abort will not be invoked if you use it!
  857. This plugin needs to be updated... [Skotlex]
  858. * Continued script.c cleanup [Toms]
  859. 2007/03/29
  860. * Corrected OPTION_XMAS since 2007 clients have split it up from
  861. OPTION_FLYING (on previous clients both were the same option value).
  862. * Corrected statp array not being long enough to actually hold the status
  863. points of ALL levels up to and including MAX_LEVEL. Fixes reaching final
  864. level and resetting giving you an unpredictable amount of status points.
  865. 2007/03/28
  866. * Negative aspd rate bonuses will be handled as aspd add rate since the
  867. default non-stackable bonus is useless on penalty bonuses.
  868. * Added check to prevent the client from using passive skills. [Skotlex]
  869. * Updated sql-files [Playtester]
  870. * Removed a missing file reference in the athena-start script
  871. * Fixed a #error "<malloc.h> has been replaced by <stdlib.h>" problem
  872. * Fixed the msg_silent setting not being announced every time [ultramage]
  873. 2007/03/27
  874. * Cleaned up some the mob skill use code. The skill re-use delay is set at
  875. the time the skill is used rather than when it finishes casting. The
  876. invalid target check was also moved to the mob skill db reading function.
  877. * Skills can be used now when the autoskill menu is open (since there's no
  878. packet sent by the client when you hit on cancel). [Skotlex]
  879. * Added some svn:ignore properties [Toms]
  880. * Solved console plugins compilation error [Toms]
  881. * Changed MAX_LEVEL to the standard value 99. Memory consumption-= 55MB.
  882. - !!!WARNING!!! If your server uses higher levels, be sure to adjust
  883. this appropriately! (the define can be found in /src/map/map.h)
  884. * Corrected SC_COMA's success chance (X.4 says it's unconditional 100%)
  885. * Changed the vs8 used crt library to static linking [ultramage]
  886. 2007/03/26
  887. * Coma now reduces SP to 0 (with the exception of Dark Blessing) [Skotlex]
  888. * Corrected "format '%lu' expects type 'long unsigned int', but argument 4
  889. has type 'unsigned int'" warning on login.sql [Toms]
  890. 2007/03/24
  891. * Corrected change r10051 which prevented Ice Pick from working [ultramage]
  892. - the 'ignore_' variables are bitflags and therefore need enough bits
  893. to store all info; 8 bits wasn't enough in this case
  894. 2007/03/23
  895. * Major reconfiguration of the vs7 project files (+vs8 while I was at it)
  896. - added definitions _DEBUG and NDEBUG to tune system-specific stuff
  897. - reduced the build requirements (Pentium 4 was a bit too much)
  898. - changed build settings and project structure to match the vs8 projects
  899. - corrected some vs8 inconsistencies
  900. * Some generic typo fixes [ultramage]
  901. * Corrected Ankle Snare/Spider Web having a 1% chance to trap rather than
  902. 100%
  903. * Food boosts are now dispelled on death only.
  904. 2007/03/22
  905. * Corrected setitemscript not correctly updating the item's script.
  906. * Added define MAX_CHARS so you can easily mod the server to support a
  907. different amount of characters per account (however, there is still the
  908. issue of hexing the client to support this change)
  909. * Updated msg_athena.conf so it no longer uses broken english on several
  910. entries. Thanks to Scerez for the updated file.
  911. 2007/03/21
  912. * getpetinfo 5 will now return the pet's rename flag.
  913. * Autoloot will now only work on items dropped a certain distance from the
  914. player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and
  915. defaults to AREA_SIZE.
  916. * Removed Magic Rod's cast bar.
  917. * Gravitation no longer causes damage flinch. [Skotlex]
  918. 2007/03/20
  919. * Increased MAX_STATUSCHANGE to 300 to make room for new statuses [DracoRPG]
  920. * Reverted mapindex reading from map_list.txt for the map-server [DracoRPG]
  921. * Patched the MAX_STATUSCHANGE startup error [ultramage
  922. * Removed the last argument from script command skillitem.
  923. * Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should
  924. use.
  925. * Added support for specifying different elements per skill level in the
  926. skill_db
  927. * Added bonus bNoKnockback.
  928. * Corrected login sql server not reseting your account state to 0 when the
  929. banuntil duration expires.
  930. * Made the skillatk bonus it's own function, it can now be used to boost
  931. Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
  932. * Corrected Teleport's save map entry being sent without the .gat
  933. extension.
  934. * Corrected Warp Portal not sending the map names with the .gat extension.
  935. * Probably corrected Disarm's strip animation.
  936. 2007/03/19
  937. * Rewrote the jail logic to always use a status change. This means that the
  938. character's save point is not changed when jailed, and the char is always
  939. warped back to the point where it was before being jailed on unjail.
  940. * Modified @adjcmdlvl so you can't set a command to require higher level
  941. than yourself, and so you can't edit the level of a command which is higher
  942. than your own.
  943. * Corrected attack_attr_none setting disabling elemental resist cards.
  944. * Corrected Dispell removing Jailed status.
  945. * Corrected being able to revive with 0 hp.
  946. * Modified the "Restart" code so that it makes you stand on spot when
  947. pc_setpos fails to move you back to your originating location. [Skotlex]
  948. * Fixed some wrong sql login logic
  949. * Fixed some compiler warnings, cleaned up mapserver sql-related vars
  950. * Removed the old 'mapserver charsave' mechanism [ultramage]
  951. * Globalised use of script_pushint and script_getdata in script.c
  952. If someone need them, the regexp used was :
  953. sed -i "s/& *(st->stack->stack_data\[st->start *+ *\([^]]*\)\])/script_getdata(st,\1)/g" script.c
  954. sed -i "s/push_val(st->stack, *C_INT *, *\([^)]*\))/script_pushint(st,\1)/g" script.c
  955. * Little clean of unused variables in script.c [Toms]
  956. * Script engine:
  957. - calling functions without using the return value doesn't generate warnings
  958. - more work on Ticket #41
  959. * Took care of two warnings and a minor change to the makefile. [FlavioJS]
  960. 2007/03/18
  961. * Added missing VC++ 7.1 project files for mapcache. [Lance]
  962. * A followup to the login_sql server changes:
  963. Due to a missing 'else' in the case_sensitive config setting loading
  964. code (see r483 and r3316), the option was always being set to 'off'.
  965. Now that I have corrected it, make sure to set it exactly how you
  966. want it to behave (usually case-insensitive)!
  967. Failure to do so can result in half the server spamming you with
  968. messages about how they are getting 'unregistered id' errors.
  969. 2007/03/17
  970. * committing my work on the login server (mostly SQL) [ultramage]
  971. - removed the check_ip_flag from login&char (there since r1)
  972. - removed the CMP_AUTHFIFO_IP and CMP_AUTHFIFO_LOGIN2 defines (also r1)
  973. - removed dynamic_account_ban, gm_db settings, weren't doing anything at all
  974. - modified the date_format setting to take the format string directly
  975. - removed overly verbose config loading messages
  976. - removed/simplified many more useless actions
  977. - renamed the dynamic_pass_failure_ban_ settings to make more sense
  978. - collected relevant config settings into a login_config structure
  979. and documented their purpose
  980. - allowed usage of yes/no instead of the user-unfriendly 1/0 method
  981. in config settings (and added 1/0 as a possible option)
  982. - fixed dnsbl which was always taking only the first entry into account
  983. 2007/03/16
  984. * Corrected the structure and added info on the skill fail packet (0x110).
  985. * Added packet 0x223 as clif_upgrademessage (not used yet).
  986. * More work on Ticket #41. [FlavioJS]
  987. 2007/03/15
  988. * Added SC_CHANGEUNDEAD to differentiate it from the other elemental change
  989. skills. It now fails on Undead/Dark elemental targets.
  990. * Corrected party item share settings not being properly updated on logon.
  991. * Corrected battle_attr_none setting applying to elemental attacks instead
  992. of neutral ones. [Skotlex]
  993. 2007/03/14
  994. * Finished polishing the new mapcache system [DracoRPG]
  995. - common/grfio.* now empty except zipping functions (to read mapcache)
  996. - servers do not use .gat internally anymore
  997. => YOU CAN (and should) STOP USING .gat IN YOUR SCRIPTS
  998. - moved files for the mapcache builder to db/ for now
  999. - the char-server now uses the same index list as the mapcache builder
  1000. => poring_c01, poring_c02 and ng_quest mapindex have changed, beware
  1001. * Updated sql files [Playtester]
  1002. * Adjusted @pvpoff, @gvgoff, @killer, @killable to make characters stop
  1003. attacking when used.
  1004. * Dispell no longer removes food boosts.
  1005. * Players will stop attacking when they change their look.
  1006. * Applied Alydis's fix to the mvp item logs logging mvp items even if the
  1007. player couldn't get the item.
  1008. 2007/03/13
  1009. * Corrected the new packet version entries for skilluseposinfo
  1010. * Corrected item reloading not unsetting the "delay consume" flag if the
  1011. item had changed it's type.
  1012. * the Attack_Type variable in skill_attack now inherits the damage.flag
  1013. properties, this fixes ranged status effects not triggering.
  1014. 2007/03/12
  1015. * Added player not attached crash prevention to countitem/countitem2.
  1016. * Probably corrected delitem not deleting pet eggs at all.
  1017. * Hopefully fixed hidenpc/disablenpc not working on Guild flag sprites.
  1018. * Mob skill state "anytarget" no longer triggers when the mob has an
  1019. item-target (looting).
  1020. * @storage/@gstorage will no longer work if you have a trade or a storage
  1021. opened already.
  1022. * Corrected script command movenpc so it properly moves the ontouch npc
  1023. cells as well.
  1024. * Changed the unit-walk packet to be 0x86 as pointed out by FlavioJS. This
  1025. new packet is much smaller, and should greatly decrease bandwidth usage.
  1026. The only drawback is that the character will not display at all if the
  1027. client didn't know of it's existance previously, but eA should always be
  1028. sending a spawn packet when an object gets into/out of sight anyway, so
  1029. it should work correctly.
  1030. * Modified the guild master change ack packet to return the aid/cid of the
  1031. new guild master instead of the index where it was, the previous method
  1032. could cause problems in situations where the order of guild members would
  1033. not match exactly between char/map servers.
  1034. * Updated the Soul Linker's Rogue Spirit Stealth's speed bonus to +60%,
  1035. according to forum infor from ragnagate. [Skotlex]
  1036. 2007/03/09
  1037. * Mapcache can run on system with any endianness.
  1038. The generated file contains data in little endian.
  1039. * Added info on packet 0x86 (simple move packet). Not usable until a clear
  1040. separation between entering sight/leaving sight/walking in sight is done.
  1041. * Propagating const char* from the script engine.
  1042. * ".gat" is appended to the map name before sending the changemapserver
  1043. packet to the client. [FlavioJS]
  1044. * Normalized the mapname in guild get/set castle data, should fix guild
  1045. flags.
  1046. * Added log options 0x800/0x1000 to log storage moves ('R') and guild
  1047. storage moves ('G')
  1048. * Added upgrade_svn9976.sql to include 'R'/'G' on the picklog type column
  1049. set.
  1050. * Updated the logs_athena description to include the letter of each type
  1051. (512 - M, 32 - N, etc)
  1052. 2007/03/08
  1053. * Corrected the pet/homunc data not being free'd if the player logs out
  1054. before being authed.
  1055. * Initialized player's speed on pc_setnewpc to prevent homunculus copying a
  1056. speed of 0.
  1057. * Corrected ranged add-status only triggering if the attack is arrow
  1058. based.
  1059. * Updated counter add-status so they trigger on ranged attacks instead of
  1060. using "arrow_atk" state. [Skotlex]
  1061. * Here comes the new mapcache system! [DracoRPG]
  1062. - The last and only big "feature" (kind of cleanup in fact) you'll see
  1063. - Totally removes GRF/GAT handling from map-server that only reads from cache
  1064. - The cache now also contains map indexes, and is mostly zipped (1.5MB atm)
  1065. - It is shipped with eA => 100% client-independant, no more missing maps
  1066. - If you want to add custom maps, the mapcache builder is available, doc
  1067. and Unix Makefile coming as soon as possible (VC8 project only ATM :/)
  1068. - Removed now useless AFM/AF2 support, as well as the startup screen notice
  1069. 2007/03/07
  1070. * Corrected the define for NK no cardfix (def).
  1071. * Fixed the char sql server not escaping the server name before inserting
  1072. it on the ragsrvinfo table.
  1073. * Corrected @lvup not doing the party even share check.
  1074. * Corrected breaker's misc part not ignoring element.
  1075. 2007/03/06
  1076. * Added NK value 0x80: ignore target's cards (0x8 will now only ignore
  1077. attacker's cards).
  1078. * Corrected Soul Breaker ignoring target's cards instead of the caster's.
  1079. [Skotlex]
  1080. * Fixed an infinite loop if script name contains a single ':' [Toms]
  1081. * Simplified the Utsusemi/Bunsinjyutsu check to only block weapon skills
  1082. that do not ignore offensive cards. [Skotlex]
  1083. * Added support for the 2 new packet versions. [Zephiris]
  1084. * Fixed the loginlog's `user` column length (use upgrade_svn9957.sql)
  1085. 2007/03/05
  1086. * More tweaks to socket.c to simplify the code [ultramage]
  1087. - many generic cleanups - reformatting, useless code removal, etc
  1088. - made the mode_neg setting a compile-time decision, not a run-time one
  1089. - removed the silly frame_size setting (there since r1)
  1090. - added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988
  1091. * Added the +20hit that were missing the NPC elemental attack skills.
  1092. * Added support for autospells using "a random skill level". The last value
  1093. of bonus4 bAutoSpell is used for determining this as well as the target. &1
  1094. is to cast on target (otherwise cast on self), and &2 is to use a random
  1095. level UP to the level specified in the script (otherwise always cast the
  1096. specified level)
  1097. * Updated item_bonus.txt with the documentation for the
  1098. bAutoSpell/bAutoSpellWhenHit changes.
  1099. * Corrected @refresh not reupdating the basic stat bonuses.
  1100. 2007/03/03
  1101. * Modified a bit the storm gust counter code to see if it fixes storm gusts
  1102. sometimes freezing on first hit.
  1103. 2007/03/02
  1104. * Tatami Gaeshi state (proyectile blocking) now ends when you move.
  1105. * SG Union will consume now SP if you use it while not soul linked.
  1106. * Added variable "skip" to the mob spawn data, to know how many mobs to
  1107. skip when spawning because they were not removed due to the
  1108. "mob_remove_damaged" setting.
  1109. * Corrected the Hp/Sp regen formulas from Hp/Sp/Spirit Recovery and
  1110. Happy/Peaceful break according to recent forums discussions (formula is
  1111. changed from x*lv +max*lv/500 to lv*(x+max/500). [Skotlex]
  1112. * Added new script function: setiteminfo. Now you can make custom items [Lupus]
  1113. - Updated script function setitemscript(itemID,script,WhichScript)
  1114. now u can set one of 3 item scripts: use/update, equip, unequip
  1115. But it works only if the original item had 3 non empty scriptsin ITEM_DB
  1116. can't fix this issue yet
  1117. 1201,Knife,Knife,4,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{dispbottom "1";},{dispbottom "2";},{dispbottom "3";}
  1118. and... if u've used this function, later @reloaditemdb may crush the map server ^_-
  1119. - Check npc/sample/npc_test_setitemx.txt as example of setiteminfo & setitemscript
  1120. 2007/03/01
  1121. * Corrected raid not doing the "can hit?" check on splash area targets.
  1122. * Fixed the definition of warpwaitingpc so that it allows an optional
  1123. argument (number of people to warp).
  1124. * Modified the Palm Strike packet so the initial hit animation does not
  1125. displays "Miss".
  1126. * Added a check to prevent trades from being commited if either character
  1127. is in final-save state.
  1128. * Checked and cleaned up the online_check code in the char-server. Further
  1129. connections to the char-server are rejected when the account already has a
  1130. connection (previously this would happen only if there was already another
  1131. character IN game, not just waiting on the char-select screen). [Skotlex]
  1132. 2007/02/28
  1133. * Added the source and VC8 project for my experimental mapcache generator;
  1134. it is NOT compatible with eA's current mapcache but uses a brand new format
  1135. that I still have to embed into the map-server [DracoRPG]
  1136. 2007/02/27
  1137. * NPC_AGIUP now boosts flee by 100% and duration is 5+5*lv secs, as stated
  1138. on the Ragnarok Bible.
  1139. * Fixed Soul Breaker's misc part not ignoring flee.
  1140. * Fixed misc attack's flee check being backwards (the less hit%, the more
  1141. chance you had to connect)
  1142. * Corrected the range check in vending.c [Skotlex]
  1143. * Added map & distance check to vending to prevent WPE hacks. [Lupus]
  1144. E.g. buying items from WoE castle
  1145. * Fixed a compiler warning in char_sql\login.c
  1146. * Minor source documentation/cleanup. [FlavioJS]
  1147. 2007/02/26
  1148. * You are allowed to expel guild mates that are not online now.
  1149. * Corrected damage of BloodDrain
  1150. * Moved the "already connected" checks to pc_authok, since a dual login
  1151. doesn't needs to be checked until the new connection is accepted.
  1152. * You are allowed to attack/use skills now when your cloaking level is
  1153. below 3.
  1154. * Small change to Stone Curse that may fix the permanent "semi-stone"
  1155. status.
  1156. * Corrected "taming monster" having your skill-use be stuck if you cancel
  1157. the target selection process.
  1158. * config setting party_show_share_picker now displays the jname of the item
  1159. picked as well.
  1160. * Corrected some typos and small details
  1161. (forgotten bInfiniteEndure [r6487], mysterious '1' in help file, etc)
  1162. 2007/02/25
  1163. * Added Krade's makefile fix for 64bit compilers [ultramage]
  1164. - ref: http://www.eathena.ws/board/index.php?showtopic=136622
  1165. * Minor cleanup/documentation on the script engine. [FlavioJS]
  1166. 2007/02/24
  1167. * Fixed the mob_override_name setting not working on summoned mobs.
  1168. * The server now prints an error message when it the produce_db reaches the
  1169. max number of allowed produce recipes.
  1170. * The NK value of the skill_db has been made a hexadecimal value, and
  1171. expanded to include more information about a skill's damage properties: 0x8
  1172. ignore caster's cards, 0x10 ignore element adjustments, 0x20 ignore
  1173. target's defense, 0x40 ignore target's flee. Note that magic attacks
  1174. always ignore flee, and misc attacks always ignore defense.
  1175. * Autoguard will no longer work on skills that don't take in card
  1176. adjustments
  1177. * utsusemi & bunsinjyutsu no longer work on skills that don't take in card
  1178. adjustments.
  1179. * Corrected damage of the NPC elemental attack skills, Blood Drain and
  1180. Energy Drain
  1181. * Adjusted menu-based skills so you can't reuse the same skill until you've
  1182. dealt with the menu.
  1183. * Adjust autospells so that removing an autospell works when the script of
  1184. the card that removes the autospell is triggered before the script that
  1185. adds the spell.
  1186. * The "requested name of gm-hidden char" warning will not be displayed when
  1187. the object in question is an NPC (since you can use Intravision to do
  1188. this).
  1189. * Venom Knife no longer takes into accounts cards or EDP.
  1190. 2007/02/23
  1191. * Guild expulsion now will fail when the character to be kicked is in a
  1192. guild castle (rather than checking for the character doing the expulsion)
  1193. * pk damage reduction settings now will take effect only on Player VS
  1194. player damage.
  1195. * Fixed produce_db2.txt entries overwriting produce_db.txt ones.
  1196. * Fixed item-granted/plagiarized skills unlocking skill trees when only
  1197. your real learned level should. [Skotlex]
  1198. 2007/02/21
  1199. * Applied a consistent look to all header files (copyright, ifdefs)
  1200. * Minor stuff (typos, socket.c, junk in login reply packet) [ultramage]
  1201. 2007/02/19
  1202. * Fixed @cartlist info message typo [Lupus]
  1203. 2007/02/17
  1204. * Fixed a typo from r9778, allowing non-gm chars to use /kill [ultramage]
  1205. 2007/02/16
  1206. * Fixed the structure of packet 0x6d (new char info). It's the same as the
  1207. one used for packet 0x6b (chars info). [FlavioJS]
  1208. * Updated script commands startnpctimer, stopnpctimer, initnpctimer so you
  1209. can attach a player to them, this is done because the attach/detach
  1210. functions can't be used to attach to a different script than the one
  1211. currently running.
  1212. * Updated the script_command reference with the new flag values of
  1213. [start/stop/init]npctimer.
  1214. * Modified the "guardian" spawn script command, it no longer receives a
  1215. "amount" argument (since that only leads to trouble), if the class is
  1216. negative, it'll pick a random class the same way the monster spawn script
  1217. command does, and if you pass a spawn position with coordinates equal or
  1218. less to 0, a random spot in the map will be taken. However you can't use
  1219. "this" as a map name anymore since these script commands do not need an
  1220. attached player.
  1221. * Guardian spawning will now fail if you attempt to spawn a guardian that
  1222. already exists on the same position.
  1223. * Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's
  1224. effect, and it is cancelled on warp/map-change. [Skotlex]
  1225. 2007/02/15
  1226. * Reverted some of my mobdb code
  1227. * Cleaned up clif_party_info a bit
  1228. * Cleaned up set_reg (the same procedure as get_val) [ultramage]
  1229. * The default packet version is now 8. Clients from November2006 and before
  1230. can no longer get past the char-server unless you change it back to 7.
  1231. * Fixed Storm Gust counter freezing on fourth hit instead of third.
  1232. * Fixed @homstats not taking into consideration that the stat growth
  1233. decimals get discarded on level up (so the real minimum/maximum displayed
  1234. was off).
  1235. 2007/02/13
  1236. * Applied Rayce's dangling pointer fix when returning a temporary npc
  1237. string variable (those starting with .@)
  1238. * Required Weapon, ammo, and skill state are now only checked on begin
  1239. casting, instead of both on begin and end casting.
  1240. 2007/02/12
  1241. * Fixed Resurrect Homunculus and Wedding skills failing. [Skotlex]
  1242. * A bit more work on Ticket #41.
  1243. * Added 'r' (variable reference) to the script argument definitions.
  1244. * Added a simple define for suspitious actions. (empty at the moment)
  1245. * Added clif_clearcart and moved sending cart packets to pc_setoption.
  1246. * clif_parse_ChangeCart checking the player level. [FlavioJS]
  1247. * Fixed clif_parse_GMmessage cutting off messages randomly [ultramage]
  1248. (due to a typo in revision r9778)
  1249. * Fixed Wand of Hermod
  1250. * Corrected Spider Web casting around caster instead of target's position.
  1251. * Corrected a possible crash during login due to checking for the incorrect
  1252. variable (lets pc_calc_status be invoked when it shouldn't)
  1253. * Added bounds checking to map_foreachincell.
  1254. * Opt2 values (poison, blind, and so on) are now resent on warp/map-change.
  1255. * Corrected description of isloggedin script command. [Skotlex]
  1256. 2007/02/11
  1257. * Fixed the inverted behavior of display_skill_fail, caused by r9823
  1258. * Fixed @loadnpc not updating the script_event[] array
  1259. 2007/02/10
  1260. * Fixed clif_party_message using an incorrect buffer length [ultramage]
  1261. * Cosmetic changes to the buildin section of script.c (use defines for
  1262. function names/definitions). [FlavioJS]
  1263. 2007/02/09
  1264. * Updated the 'unit walk' to functions so they stop your attack if it's
  1265. possible to walk.
  1266. * Fixed char server SQL not sending the guild info update to other map
  1267. servers when a new member is added.
  1268. 2007/02/08
  1269. * Modified Spider Web so it can instantly retrap a target, rather than
  1270. idling on the ground waiting for a new target.
  1271. * Cleaned up some the rude-attacked code, being attacked while under spider
  1272. web now triggers rude-attacked. [Skotlex]
  1273. * Added code for SQL that will automatically detect the ping interval
  1274. at startup, and copy-pasted it around the code; removed the conf setting
  1275. * Added a missing null pointer check in clif_parse_globalmessage
  1276. * Fixed the new socket code, which was triggering the inactivity timeout
  1277. on the servers' listening sockets
  1278. * Fixed the TURBO code not working since r4468 (parse func never called)
  1279. 2007/02/07
  1280. * More aggressive cleaning up of the socket code [ultramage]
  1281. - removed unused session_data2 entry in sd
  1282. - added a new create_session() function, helps keep things cleaner
  1283. (although it's ad-hoc and not perfect, since this is C)
  1284. - undid r4978 since it was getting in the way (re-add it if you need it)
  1285. - added defines for the recv, send and parse func pointers
  1286. - added null functions for the three actions, and made create_session()
  1287. calls use those instead of NULL pointers; insignificant penalty and now:
  1288. - since all three funcs are always initialized, removed all those NULL checks
  1289. - removed the efd set, since as the people from the developernet forums
  1290. pointed out, it's only for out-of-band data and NOT for error checking
  1291. (in fact, select() bails out without giving any info if it errors out)
  1292. - reorganized the randomly placed socket.c contents somewhat
  1293. - it'll be a miracle if this works like it should ^^;
  1294. * Modified spider web so that the skill_unit_db flag restrictions may take
  1295. place. [Skotlex]
  1296. * Cleaning up of the socket code [ultramage]
  1297. - Shuffled includes around for files that were leeching off of socket.h
  1298. - Added code that enforces standard shutdown behavior for sockets
  1299. - Wiped out the poorly written parse code from r2211
  1300. * Removed old script bonuses bMatk, bMatk1, bMatk2.
  1301. * Fixed char-server not sending online notification when a party member
  1302. logs in.
  1303. * When skill range by distance is set, the distance checked for is now 5
  1304. cells rather than 3.
  1305. * Fixed bMatkRate bonuses not applying to status earned modifications to
  1306. int/matk. [Skotlex]
  1307. * Removed deprecated console code.
  1308. * Moved CHAT_SIZE back to map.h because log_atcommand uses it on sql
  1309. builds. (moved to clif.c in r9811) [FlavioJS]
  1310. 2007/02/06
  1311. * Cleaned up the script engine's get_val() function [ultramage]
  1312. - changed the long if-spaghetti into a compact switch statement
  1313. - changed its behavior so that it exits if !sd and it requires one
  1314. - upon exiting, it will now ensure that meaningful values get returned
  1315. (the old code had no qualms about returning random junk from memory
  1316. for integer queries, and crashing for string queries)
  1317. - removed many !sd checks since they are done at the beginning now
  1318. * Fixed #lvup having the gm level check backwards.
  1319. * Fixed the stormgust freeze counter going up even if the attack is
  1320. blocked/cancelled.
  1321. * Cleaned up homunc attack request parsing. Homunculus no longer goes into
  1322. auto-attack (ctrl+click) mode since the client does every attack request
  1323. individually.
  1324. * Fixed char-server not sending party status update when a member logs
  1325. on/off.
  1326. * Fixed crash when parsing guild member information change from the
  1327. char-server if the specified character is not found in the guild.
  1328. * Fixed MvP mobs giving exp when killed even if they shouldn't.
  1329. 2007/02/05
  1330. * Fixed @lvup, #lvup not doing a stat reset and lowering your status points
  1331. if you had 0 status points at that time.
  1332. * Fixed MvP exp and item rewards being given even when the mob_dead flag
  1333. specifies you should not receive exp or items.
  1334. * Updated the code so that now a range of a skill is determined by the
  1335. skill's range in the db. Now only skills with less than 5 cells of range
  1336. are melee.
  1337. * The inf2 parameter of the skill_db is now red as an hexadecimal.
  1338. * The super novice self-revive angel will now trigger only once per
  1339. session, if you relog you can have it trigger again. [Skotlex]
  1340. * Fixed the skill tree not always updating when using @allskill
  1341. * Probably fixed the target-change on melee attack setting not working.
  1342. * Moved the deletion of the invincible timer when using skills so that it
  1343. is not deleted for skills such as Ashura (when just selecting a target)
  1344. [Skotlex]
  1345. 2007/02/03
  1346. * Continuing the checking of script buildin functions and stop the script
  1347. execution when an attached player is required but not found.
  1348. This task will be referenced as Ticket #41 from now on. [FlavioJS]
  1349. * Updated the TXT login server's account id checker
  1350. (it was still saying the minimum is 700000 instead of 2000000)
  1351. * Changed the 'getpartyleader' script command so that it returns a map
  1352. name instead of the useless mapindex number. Also fixed it so that it
  1353. doesn't throw a 'args of aFree is not valid pointer' error.
  1354. (although I'm not at all sure that the fix is correct)
  1355. Ref: http://www.eathena.ws/board/index.php?showtopic=137274
  1356. * Removed the silly and misleading 'firewall detected' message
  1357. * Added missing vc6 project file
  1358. * Corrected a lie in the script documentation [ultramage]
  1359. 2007/02/02
  1360. * Fixed the flag parameter not working on npcshopattach.
  1361. * Updated the walk delay code so that it parses homunculus as well as
  1362. players. What this means is that a homunculus walk request won't go ignored
  1363. if it's issued during the 'can't walk delay' after being hit.
  1364. * Added a possible crash protection in clif_skillfail when the player is
  1365. without a connection. [Skotlex]
  1366. * Fine-tuned the global message processing function [ultramage]
  1367. - now detects access-out-of-rfifo attempts (idea from eA++)
  1368. - uses the new CHAT_SIZE define to restrict message lengths
  1369. - detects Frost Joke/Dazzler and gives them more freedom (from Freya)
  1370. - more strict non-conformant message detection
  1371. - logging every problem to the mapserver console
  1372. * Resetting skills will now automatically remove peco, falcon, cart and
  1373. homunculus (vaporize).
  1374. * Fixed random mob picking choosing clones.
  1375. * Fixed critical spots that could be exploited [Skotlex]
  1376. - The define MESSAGE_SIZE was wrong! It is only used for input boxes.
  1377. Therefore now it is only used for Vending, Talkie box and Graffiti
  1378. - Added new define CHAT_SIZE which holds the max length that a client
  1379. can send from the chat buffer
  1380. - Added define msg_len_check which crops incoming client text if it's
  1381. longer than CHAT_SIZE. Added cropping to all incoming messages except
  1382. normal chatting which is already accounted for.
  1383. - Removed variable talkie_mes, this is now handled by sd->message
  1384. - Cleaned up parser functions for /b /lb, gm kick, /shift, /recall
  1385. - Added crash protection to the logging functions when they receive
  1386. a too long string.
  1387. 2007/02/01
  1388. * Restricted global messages to 255 characters (client shows only ~80 anyway,
  1389. wanted to use 127 but frost joke's lines are longer than that ...)
  1390. - prevented using a ~22+kB long message to crash everyone on screen
  1391. - prevented faking the message length to cause an out-of-bounds access crash
  1392. - removed the unneccessary 'buf'ffer (inspiration from jAthena)
  1393. - Ref: http://www.eathena.ws/board/index.php?showtopic=137770
  1394. * Corrected the chat system to allow 8-letter passwords
  1395. * Minor details (pdb file location, improved debug, npc typo) [ultramage]
  1396. * Cleaned up the npcshop(add/del)item script commands, fixed a possible
  1397. dangling pointer crash caused by their improper use of realloc. They no
  1398. longer automatically attach the script to the shop, and they will return
  1399. true/false based on whether the shop was found or not.
  1400. * Added script command npcshopattach to enable attaching/detaching your
  1401. script from any npc shop.
  1402. * Updated doc/script_commands.txt with entries for npcshopitem,
  1403. npcshopadditem, npcshopdelitem and npcshopattach [Skotlex]
  1404. * A followup to r9761, a header include that somehow didn't commit [ultramage]
  1405. * Item search is now a bit smarter. When no item is found with the same
  1406. 'aegis name', then the 'normal' name is used instead.
  1407. * Updated the @/# commands that take an item name so that you can use
  1408. quotes when specifying item names with spaces in them. For example, @item
  1409. "poring card" 1 will work now. Note that only the commands that work on ONE
  1410. item have been updated, those that do an item list need to be updated as
  1411. well. [Skotlex]
  1412. * Updated the old vs6 files to latest, thanks to k3dt for contributing them
  1413. * Reorganized the vs6 project files (update will follow)
  1414. * Fixed an accidental change in r9758 (edit&continue) [ultramage]
  1415. * Added support for mob skill target 'randomtarget', when specified, it
  1416. will pick a random enemy from within the skill's cast range. [Skotlex]
  1417. * Added string function strnlen [ultramage]
  1418. - This thing is useful for removing potential out-of-bounds crashes.
  1419. Had to #ifdef it because some systems implement it, some don't provide
  1420. the header, and some don't have it at all. Adjust/improve as neccessary.
  1421. * Corrected homunculus's aspd being halved after using some aspd adjusting
  1422. skill.
  1423. * Removed the log info message 'created homunc...', and the 'loaded homunc'
  1424. message will only show if the save_log is enabled.
  1425. * When when a party-member levels up, the level change is sent to the
  1426. char-server to update the even-share range values.
  1427. * When joining a gvg_dungeon, the pvp packet will be sent to signal
  1428. versus. With this gvg dungeons should be working correctly now. [Skotlex]
  1429. 2007/01/31
  1430. * Changes in the VS8 project files: [FlavioJS]
  1431. - synchronized the settings between the projects
  1432. - joined all .h and .cpp files and grouped them based on the src subfolder
  1433. - added Debug/Release build targets that build txt/sql only
  1434. - other minor changes
  1435. * Removed graph, httpd and webserver
  1436. * Wiped out the old night code (use svn if you want it) [ultramage]
  1437. 2007/01/30
  1438. * 'Long Range Attacked' mob skill conditions will no longer trigger on
  1439. magic attacks.
  1440. * Corrected char deletion not working (column is called homun_id, not
  1441. hom_id...)
  1442. * Collapsed config settings produce_item_name_input,
  1443. produce_potion_name_input, making_arrow_name_input, holywater_name_input,
  1444. cdp_name_input into a single config produce_item_name_input which uses
  1445. bitmasks to determine what it affects.
  1446. * Updated arrow_decrement to have 3 possible values: Disabled, Enabled, and
  1447. Enabled + Autoguess (gives arrow consumption as appropiate to
  1448. plagiarized/acquired skills).
  1449. 2007/01/29
  1450. * Corrected the homunculus deletion functions so that the homunculus is
  1451. deleted together with the character.
  1452. * Added npc_check_areanpc so that Wand of Hermod will correctly check for
  1453. nearby warps.
  1454. * Emergency avoid now stacks with other speed boost statuses
  1455. * Item skills and skills that bring up a menu now are cleared on death.
  1456. [Skotlex]
  1457. * Added a nasty hack to prevent multilanguage clients from breaking guild notices
  1458. 2007/01/27
  1459. * Made @reloadscript wipe ALL previous mobs that the script engine spawned
  1460. - this way it is manageable via global vars; the other way doesn't allow that
  1461. * Some misc cleanups (typos, formatting, forgotten changelog entry etc)
  1462. * Reformatted and translated atcommand.c
  1463. - in the process improved @marry, allowing spaces after the first comma
  1464. * Simple cleanup
  1465. - removed atcommands @w, @server_date/time, @red, @happyhappyjoyjoy, @shuffle
  1466. - synced gm level of @jailfor, @charjailtime, @npcmove, @chardropall,
  1467. @charstoreall, @send, @mute, @changelook, @exp and @nuke
  1468. - added conf entries for @whozeny, @kamic, @tonpc, @petid, @identify, @adopt,
  1469. @trade, @changelook, @send
  1470. - reorganized the atcommand_athena.conf file a bit
  1471. * Corrected indentation of the atcommand table (editor compatibility)
  1472. * BEGIN atcommand cleanup process
  1473. (according to http://www.eathena.ws/board/index.php?showtopic=111996)
  1474. * Fixed a C language restriction preventing compilation [ultramage]
  1475. 2007/01/26
  1476. * Removed all those useless read-from-GRF features noone would ever use,
  1477. also removed cutincard script command as a consequence [DracoRPG]
  1478. - this is only the beginning of full grfio disparition from map-server
  1479. * Now assassins can equip arrows, and status arrows trigger on any ranged
  1480. physical attack: mimics Grimtooth + status arrow "Aegis bug" [DracoRPG]
  1481. * Added some random Storage Password packets thingies [DracoRPG]
  1482. * Kaite and Assumptio no longer stack. One will remove the other in the
  1483. same way Assumptio and Kyrie do.
  1484. * Made homunculus renaming go through the char-server so it can be
  1485. validated against the allowed characters setting.
  1486. * Added battle config hom_rename so you can enable renaming multiple times
  1487. your homunc.
  1488. * Fixed the normalizing function not sending first classes back to novice
  1489. if they do not have basic skill maxed.
  1490. * Added a wrapper to delete_timer so it prints out from where the
  1491. invocation was done.
  1492. * Fixed Splash attacks consuming 2 ammo on each attack. [Skotlex]
  1493. * Added some more freedom for the txt log paths since 32 wasn't enough
  1494. * Removed log_uptime that was accidentally introduced in r1208 [ultramage]
  1495. 2007/01/24
  1496. * Cleaned up some more the Joint Beat implementation, so the status don't
  1497. take effect until the attack connects. [Skotlex]
  1498. 2007/01/23
  1499. * Fixed int/dex foods using an incorrect icon for their status [ultramage]
  1500. * Changed the night status from 149 to 160, which seems to work so much
  1501. better, and also enabled simplifying the night code.
  1502. * A skill's walk delay will also delay your can-attack time when the skill
  1503. connects, since this is the behaviour of Sonic Blows as described by
  1504. Tharis.
  1505. * Added view_data support to mercenary.*, so that the Homunculus entries
  1506. are no longer required on the mob_db.
  1507. * Added the status icon to NPC_CHANGEUNDEAD and the Flee/Hit foods.
  1508. * Corrected the check that lets you walk when vending/chatting/etc.
  1509. 2007/01/22
  1510. * Reverted the battle_calc_return_damage code as the previous one was
  1511. correct, ninja self-targetted skills CAN be reflected. [Skotlex]
  1512. 2007/01/21
  1513. * Fixed while statements not "reserving" the curly before parsing the test
  1514. expression. [FlavioJS]
  1515. 2007/01/20
  1516. * Fixed some joker's code trying to dereference a null pointer
  1517. * Fixed the server not reacting properly to atcommands/charcommands when using
  1518. langtype 10/11 (the |XY codepage indicator wasn't being trimmed) [ultramage]
  1519. * Updated @homshuffle so that the skill tree and current skill points are
  1520. not messed up.
  1521. 2007/01/19
  1522. * Fixed the label dup code, it now works correctly with const.txt switch
  1523. labels.
  1524. * Reverted the dup-label check code since it has a bug that needs to be
  1525. fixed first (it fails to recognize const.txt values) [Skotlex]
  1526. * Fixed a client crash during SQL char selection if you for some reason had
  1527. more than 9 characters in your account (thanks to Daegaladh) [ultramage]
  1528. - note that the TXT version already guards against this since long ago
  1529. * Merged Rayce's cleanups of the script engine that account for duplicate
  1530. labels, non-numeric labels and makes the engine case-insensitive towards
  1531. keywords like if/case/switch/etc/
  1532. * Added the icons for the Food boosts (need packet version 8 to get them,
  1533. as these icons will just display Gloria, or crash you, when used on older
  1534. clients).
  1535. 2007/01/18
  1536. * Modified the Storm Gust freeze counter code. It now takes into
  1537. consideration the ID of the skill before increasing the counter, which
  1538. should effectively yield the closest aproximation to official (even though
  1539. the counter will reset if you step out of a SG and into another one, we do
  1540. not know yet what should happen in such a case).
  1541. * Added @homshuffle. It recalculates the homunculus stats, as if the homunc
  1542. was sent back to level 1, and then releveled. This command is mean to help
  1543. fix those previously created Homunculus that are much stronger than they
  1544. should be.
  1545. * Fixed overflow on the mob delay adjustment setting.
  1546. * Fixed characters being unable to trade again if you attempt a trade on
  1547. someone who is on storage/npc when you accept the trade. [Skotlex]
  1548. * Fixed a crash when a castle from [0..MAX-1] wasn't in the db [ultramage]
  1549. 2007/01/17
  1550. * Corrected atcommand @homstats so it shows the correct minimum/maximum
  1551. possible values.
  1552. * Simplified the hom level up function, now decimal stats are no longer
  1553. stored. This should correct eA's homunculus on average being much stronger
  1554. than Aegis's.
  1555. * Cleaned up pc_allskillup, @allskills should work correctly now.
  1556. 2007/01/16
  1557. * Added atcommand @homstats so you can check your homunculus stats and
  1558. compare them to the minimum/maximum values that you could have at your
  1559. current level. This command is meant to help figure out if homuncs are
  1560. indeed getting a faster stat growth than they should have.
  1561. * Fixed the next invoked skill after AbraCadabra not having requirements
  1562. even when it is a different skill than the one chosen by AbraCadabra.
  1563. * Implemented Intravision as it should be. Thanks to HelloKitty2 for the
  1564. captured packets.
  1565. * Some cleaning on the mob_ai to enable mobs to run away from their current
  1566. target when they are rude-attacked by them.
  1567. 2007/01/15
  1568. * The NPC elemental attacks will display a skill animation again.
  1569. * Mob instant cast skills will use their adelay now.
  1570. * Spirit of Wizard won't work on Ganbantein
  1571. * The pc normalize job function will consider you as novice if you don't
  1572. have maxed out basic skill.
  1573. * Cleaned up pc_calc_skilltree and related functions so that the id is left
  1574. as 0 when you can't raise the skill even if you meet the prerequisites.
  1575. This is to prevent raising quest/soul/marriage skills through packets.
  1576. * Slaves should lock unto their master's target even if they are not
  1577. attacking yet (eg: in chase mode)
  1578. * Updated the Summon Slave skill to use the slave distance define as valid
  1579. distance to spawn from master.
  1580. * Fixed Joint Beat's speed penalty.
  1581. * Added a pc_authok check to prevent the case in which somehow another
  1582. character of the same account manages to log in as well.
  1583. * The pc normalize job function will now recognize you as a novice if you
  1584. don't have NV_BASIC maxed.
  1585. * Accessories will now by default go into the rigth-side rather than the
  1586. left-side of the equip window.
  1587. * Added a check in the mob_ai_subhard function to make mobs unlock targets
  1588. which have their invincible timer set.
  1589. * Probably fixed the registration flood protection code being broken.
  1590. * Joint Break should only re-start the bleeding timer when it currently IS
  1591. the one that causes bleeding. [Skotlex]
  1592. 2007/01/12
  1593. * Cleaned up the ip rules/DDoS section of the code. (the allow,deny and
  1594. deny,allow cases were switched)
  1595. * Fixed autotrading characters not being able to reconnect. Seams like I
  1596. misunderstood how id_db and pc_db are used. [FlavioJS]
  1597. 2007/01/11
  1598. * Fixed the script engine not parsing strings in multibyte charsets
  1599. correctly (should have been done in r9532).
  1600. * Console plugin working when built as Windows native. [FlavioJS]
  1601. 2007/01/10
  1602. * Combined most of the txt/sql mobdb reading code [ultramage]
  1603. - mob.c is now some 10kB less redundant (now using a common function)
  1604. - automatically filled in some missing parts of the txt part
  1605. (view_range_rate, chase_range_rate, line counting, etc)
  1606. - also cleaned it up significantly
  1607. 2007/01/09
  1608. * Changes to script buildin functions: [FlavioJS]
  1609. - functions checking if a player is attached as soon as possible.
  1610. - functions that required a player attached and would crash if none was
  1611. there terminate the script now. (others keep the current behaviour to
  1612. maintain full backward compatibility)
  1613. - removed the unused flag argument in guildskill.
  1614. - bonus,bonus2,bonus3,bonus4 use the same function now (remains the same
  1615. script-wise)
  1616. - added an optional parameter to setcart,setfalcon,setriding so it's
  1617. possible to remove the cart/falcon/mount or select a specific cart
  1618. - other cleanups
  1619. 2007/01/08
  1620. * Hotfix: Freeing of freed pointer when replacing script functions. [Lance]
  1621. * Unimportant cleanups
  1622. * Moved the plugin.def file to the plugins dir and added console.def
  1623. * Found the reason why the console didn't want to run on windows
  1624. (Microsoft uses !0 and unix uses 0 in pipe_create)
  1625. * Commented out a login_log call (sql doesn't implement that function!)
  1626. * Fixed an old debug message displaying %d instead of a number
  1627. * Silenced the plugin export messages during startup [ultramage]
  1628. * Added a precompiler error when the shutdown defines are not found.
  1629. * Added parse_console to the plugin API.
  1630. * Added plugin for parsing the console. (working with cygwin)
  1631. * Copied the parse_console code form login txt to login sql and char.
  1632. * Added propper plugin version compatibility tests.
  1633. * Better output when a plugin fails to load. [FlavioJS]
  1634. 2007/01/07
  1635. * Fixed the sleep timers not being removed when the an npc was being
  1636. unloaded and when reloading scripts. [FlavioJS]
  1637. * Updated the documentation to match the agitcheck() behavior
  1638. * Undid the memset->malloc_set replacement
  1639. (let's be compatible and leave such optimizations to system devs, ok?)
  1640. * Small reformatting of conf-tmpl
  1641. * Renamed atcommand_sub to is_atcommand_sub (charcommand too)
  1642. * Re-added the duplicit nj/gs name messages in msg_athena [ultramage]
  1643. (the code was using those and they look better in that position)
  1644. 2007/01/06
  1645. * Now winsock 2 is required.
  1646. * Cleaned up do_close and socket_init a bit.
  1647. * Fixed the weight icon dissapearing and reappearing when attacking.
  1648. (introduced by me at r9600, fix based on ultramage's code) [FlavioJS]
  1649. 2007/01/05
  1650. * Also discarded some veeery old utils code that has got equivalents
  1651. in the std libs (and therefore is silently causing a nasty collision).
  1652. * Major reconfiguration of the VS8 project files. [ultramage]
  1653. - Removed the migration binding to a VS71 template.
  1654. - Disabled the setting that defines char -> unsigned char (non-conformant).
  1655. - Switched all projects to use the common C runtime library DLL
  1656. instead of linking the static version to each exe.
  1657. - Enabled edit&continue on the TXT version (SQL already had it).
  1658. - Reconfigured the linker to use only the really required dependencies.
  1659. - Enabled full optimization and whole program optimization,
  1660. with additional speed-improving settings for the release build.
  1661. - Set the compiler/linker to produce detailed debug information even for release builds
  1662. (no performance penalty because the debug info is stored in a separate .pdb file!).
  1663. - I tested all 4 build combinations and it works for me, and it should work for you.
  1664. - There is still one very useful thing missing - setting the working dir to '..'.
  1665. I don't know how to do that, tho' since VS stores it in a separate user file.
  1666. 2007/01/04
  1667. * Fixed old @go bug (it ignored einbech) [Lupus]
  1668. * Added Au{R}oN's updated version of the effect list.
  1669. * Completed adding of the new cities to @go.
  1670. > that function is ugly and needs a complete rewrite, asap.
  1671. * Updated thor volcano warps.
  1672. * Updated /doc from jAthena. [ultramage]
  1673. 2007/01/03
  1674. * Added Rachel and Veins to the list of @go destinations.
  1675. * Added a first approximation of warps for the new maps (by $ephiroth).
  1676. * Now the server will by default perform symmetric adding of friends. [ultramage]
  1677. > TODO - symmetric deletion (http://www.eathena.ws/board/index.php?showtopic=130749)
  1678. * Fixed TURBO FIFO defines.
  1679. * Moved refusal of a known packet versions to clif_parse_WantToConnection
  1680. and made it check for non-player object with that id.
  1681. * JK_JOINTBEAT as described in:
  1682. http://www.ragnainfo.net/wiki/index.php/Vital_Strike
  1683. Although not clear, it's being assumed that the 2x damage is only for the
  1684. break neck ailment. [FlavioJS]
  1685. * Modified the useless error message in atcommand_effect.
  1686. * Silenced the debug message in socket.c that's been freaking people out.
  1687. * Added support for text/comments at the end of monster spawn lines (<tab> required)
  1688. * Added the official behavior of monsters regaining full hp when they morph.
  1689. > info at http://www.eathena.ws/board/index.php?showtopic=130103
  1690. * Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements for soullinked skills.
  1691. > TODOs at http://www.eathena.ws/board/index.php?showtopic=130788
  1692. * Re-applied change r9593 that got accidentally reverted by r9595. [ultramage]
  1693. 2007/01/02
  1694. * Fixed SC_JOINTBEAT not doing crit damage for the Neck Break ailment.
  1695. * Gospel sends the buff message to the affected player. [FlavioJS]
  1696. 2006/12/31
  1697. * Made HSCR bypass both Guard and Shield Reflect using the dirty way [DracoRPG]
  1698. > cleaner way would need to rethink the whole skill's implementation
  1699. * Added more info when npc_scriptcont tries to continue a different script.
  1700. * Refer to http://www.eathena.ws/board/index.php?showtopic=130285
  1701. - Renamed pc_checkweighticon to pc_updateweightstatus and cleaned it.
  1702. - Updated pc_is50overweight to use battle_config.natural_heal_weight_rate.
  1703. - Added 90% weight check when attacking.
  1704. * Updated getitem and guardian entries in script_commands.txt.
  1705. * Fixed getitem trying to get <character ID> from the wrong argument.
  1706. * Now getitem can be run on scripts without a player attached if
  1707. <character ID> is specified.
  1708. * Now the two last arguments of guardian are optional and independant of
  1709. each other ("<event label>" and <guardian index>). This way the previous
  1710. implementation and script_commands definition are still valid code.
  1711. * Now buildin function names and argument definitions are checked for
  1712. validity before adding the function to the script engine.
  1713. Argument definitions follow the pattern: (v|s|i|l)*\?*\*? [FlavioJS]
  1714. 2006/12/30
  1715. * Reverted the packet structure changes to mmo_char_send006b in r9588 (was
  1716. using the wrong exe for the final tests) except for the bug that I was
  1717. originally fixing. [FlavioJS]
  1718. 2006/12/29
  1719. * Skill use is now cancelled when you use it while cloaking, and the
  1720. uncloaking process warps you. [Skotlex]
  1721. 2006/12/28
  1722. * Reapplied Skotlex's socket.c changes from r9587 and r9582. :S
  1723. * Part 3 of TheUltraMage's socket cleanup.
  1724. * Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
  1725. * Removed search_str from add_str (add_str already searches for the
  1726. string).
  1727. * Native script words like do,while,for,... are case insensitive now.
  1728. * Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better
  1729. distributions).
  1730. * Added alternative hash implementations to the script engine (to try out
  1731. later). [FlavioJS]
  1732. * Added a func_parse invocation when an invalid socket is found, so that
  1733. the underlying code (char/map/login) can handle it and free any related
  1734. resources.
  1735. * Added some skill effect packets so it displays a generic effect for
  1736. unknown targetted skills.
  1737. * Some cleaning in do_sendrecv, added error messages when handling an
  1738. incorrect socket. [Skotlex]
  1739. 2006/12/27
  1740. * Fixed Super Novice 99%+ invincibility triggering when
  1741. the character dies in a GvG area. [blackhole89]
  1742. * Updated SQL Files [Toms]
  1743. * Fixed a bug which makes the group heal bonus be applied as many times as
  1744. the item is in that group.
  1745. * Applied Rayce's suggestion to improve the script hash size usage. eA now
  1746. uses a hash of 1024.
  1747. * Full Buster's auto-blind chance is now reducable by stats/items.
  1748. 2006/12/26
  1749. * Updated Charge Attack's damage equation as per the only source I've seen
  1750. of it so far.
  1751. * Now Guardians/Emperium can't hit /be hit if their current map isn't a
  1752. gvg_castle or woe is off. This enables "localized" WoE by removing/setting
  1753. the mapflag gvg_castle on the castles where you want WoE to take effect
  1754. (note that even though normal players can't be hit on non gvg_castle maps,
  1755. normal mobs can still be killed in such maps, you'd still need to modify
  1756. the WoE scripts to use this kind of feature)
  1757. * TK_MISSION will now pick any mob from the DB as long as it is not a boss
  1758. type and it gives base exp.
  1759. * Fixed the double-stone issue when hitting a petrified character.
  1760. [Skotlex]
  1761. 2006/12/25
  1762. * Fixed buildin_getscrate, thanks Trancid.
  1763. * Applied part 1 of TheUltraMage's socket cleanup.
  1764. "Basically what I did was perform simple one-liner substitutions for
  1765. ugly repetitive blocks of code. The most apparent are the send/recv
  1766. code and the other basic socket calls."
  1767. * flush_fifo is non-blocking now. I guess best effort is good enough...
  1768. * Copied header files from vcproj-7.1 files to vcproj-8 files.
  1769. * Applied the rest of Rayce's suggestions and fixes
  1770. (http://www.eathena.ws/board/index.php?showtopic=129185)
  1771. * warn_cmd_no_comma, warn_func_no_comma, warn_cmd_mismatch_paramnum are
  1772. now warn_func_mismatch_paramnum and it only prevents showing the error,
  1773. as it was probably intended in the first place. (correct me if i'm wrong)
  1774. * Merged the parsing of function calls in the script engine, removing the
  1775. parse_cmd hackery, and made "heal (.@val+rand(0xff))&0xff,0;" valid
  1776. again. [FlavioJS]
  1777. 2006/12/24
  1778. * Small fix for changeset 9539 (support for PACKETVER above 7) [KarLaeda]
  1779. 2006/12/23
  1780. * Fallback for parenthesis argument lists in the script engine.
  1781. "func (exp) , ..." is valid again.
  1782. * Moved "#include <limits.h>" to cbasetypes.h to ensure it's included
  1783. before checking if UINT_MAX has been defined.
  1784. * Minor changes in pc_readdb related to max_level being unsigned.
  1785. [FlavioJS]
  1786. 2006/12/22
  1787. * Simplified function agitcheck so it isn't crash prone. Now it takes no
  1788. arguments, and will return whether WoE is on or not.
  1789. * Now when you specify a max level beyond what the exp table has, the last
  1790. entry of the exp table will be duplicated to fill in the remaining levels.
  1791. [Skotlex]
  1792. * Change strncpy to memcpy when parsing switches in the script engine
  1793. since it's guaranteed to be a word of that size (skip_word).
  1794. * Made scriptlabel_db duplicate the key. When str_buf is reallocated, the
  1795. keys in scriptlabel_db could become invalid, causing a crash in
  1796. npc_convertlabel_db.
  1797. * Now npc_convertlabel_db clears scriptlabel_db after using it.
  1798. * parse_script has an extra parameter options. At the moment it only
  1799. indicates if scriptlabel_db should be used or not.
  1800. * Fixed "UINT_MAX undeclared" on systems that don't declare it in limits.h
  1801. [FlavioJS]
  1802. 2006/12/21
  1803. * Applied Rayce's suggestions and fixes to the script engine
  1804. (http://www.eathena.ws/board/index.php?showtopic=129185)
  1805. * Some cleaning to the character deletion code.
  1806. * Changed a certain snprintf to strncpy, which should fix the problems with
  1807. parsing switches in the script engine.
  1808. * Added back cropping the attack delay to attack motion for those weird mobs
  1809. that have a aDelay less than their aMotion time. [Skotlex]
  1810. * Added a 1-node cache to db. Removed party_cache and guild_cache since
  1811. now the database has a cache.
  1812. * Fixed "warning: comparison is always false due to limited range of data type"
  1813. by restricting script words to ASCII characters only.
  1814. * Moved md5calc to common. [FlavioJS]
  1815. 2006/12/20
  1816. * Fixed ISSPACE and ISALPHA casting their returned value to a char, which
  1817. can really mess up the scripting engine when the returned value is true,
  1818. yet casted to false.
  1819. * Moved the strip unequip code to before deleting the timer, this fixes
  1820. trying to "re-strip" someone causing the skill to fail and on top of that
  1821. terminate their current strip effect.
  1822. * Reading of TK Mission variables will now happen if you are a TK-class
  1823. character regardless of whether you know TK_MISSION or not. Should fix
  1824. being able to reset skills to reset your Mission data.
  1825. * Added an ugly work around to the issue of skills with additional effect
  1826. causing opt1 status when they have just terminated them (in short, you
  1827. shouldn't be able to hit someone with, say, sleep, and then have the same
  1828. skill cause them stun, since both are opt1 values). [Skotlex]
  1829. * Now root script functions calls can have parenthesis (will take any
  1830. parenthesis after the function as the start of the argument list).
  1831. - This means "func (exp),exp;" isn't valid anymore.
  1832. * Replaced our fix for "mes ();" crashing by jA's version.
  1833. * Merged the fix for & having the same precedence as << and >> from jA.
  1834. * Merged the C_OP3 operator from jA: test ? if_true : if_false
  1835. * Changed the script source from unsigned char* to const char*.
  1836. * Updated plugins Makefile. [FlavioJS]
  1837. 2006/12/19
  1838. * Reverted the mob ThinkTime update, that field is again aDelay as it
  1839. apparently should be. [Skotlex]
  1840. * Cleanups or minor changes.
  1841. * Now addtick_timer invokes settick_timer, so keep an eye for whatever
  1842. timer issues it's supposed to have.
  1843. * Removed the flush_fifo from clif_parse_TickSend until the socket
  1844. problems are fixed. [FlavioJS]
  1845. 2006/12/18
  1846. * Updated POS2 macros. The 6th byte is subx0 and suby0. [FlavioJS]
  1847. * Added hom_setting to specify which homunculus 'quirks' are in effect. The
  1848. default activates all of them, if you set them to 0 then homuncs will not
  1849. be treated in any special matter, pretty much like standard mobs. if I
  1850. missed any 'quirky' homunc behaviour from it, report it so it can be added
  1851. to the list.
  1852. * Made flooritem_lifetime a int so you can specify much longer life times
  1853. (the default of 60k was already very close to the max of 65k)
  1854. * Removed monster_ai 0x80 since it's now handled by hom_setting.
  1855. * When walking into a Guild Dungeon your pvp_points will be set to 5 so you
  1856. have to die twice before being warped out.
  1857. * If jobchanging while disguised, the disguise will be removed, since it
  1858. can't be kept and still calculate correctly the new job class to use.
  1859. * Fuuma shurikens are now unbreakable code-wise (like all maces, books,
  1860. etc)
  1861. * Applied Meruru's patch to increase speed of easy path seeks. [Skotlex]
  1862. * Cosmetic changes to db.
  1863. * Fixed the unused MAPINDEX_AUTOADD section in mapindex.c (mapindex.h
  1864. wasn't being included) [FlavioJS]
  1865. 2006/12/16
  1866. * Moved packet_len_table values to packet_db[SERVER].
  1867. * When an invalid packet_ver is found, all it's entries are discarted
  1868. intead of just stopping the parsing.
  1869. * Increased MAX_PACKET_DB to 0x300 and added a warning for when packet ids
  1870. greater than MAX_PACKET_DB are found. [FlavioJS]
  1871. 2006/12/15
  1872. * There will be now warnings printed when a shop sells an item which's buy
  1873. price is 20z, since those usually are "rare" items with no buyying price
  1874. set. Note that this reports one fake, and that is the selling of a certain
  1875. shuriken that indeed costs 20z.
  1876. * Most likely fixed client crash when xmas/wedding status runs out.
  1877. 2006/12/14
  1878. * Removed "mobs being enemies of each other all the time" because, even
  1879. though mobs can hit each other as they should, they will refuse to use
  1880. support skills on enemies, which breaks several of their skills. Mobs can't
  1881. both help and attack someone tagged as enemy!
  1882. (I guess eA is just too smart to emulate Aegis's sloppy coding)
  1883. * Cleaned up the strip code (GS_DISARM, rogue skills).
  1884. * Cleaned some the MD_DETECTOR code.
  1885. 2006/12/13
  1886. * Additional damage bonuses (True Sight, EDP, Assassin Link, Crusader Link,
  1887. Card skill damage bonuses) are now applied independently of each other,
  1888. which lets them stack. [Skotlex]
  1889. * Modified flush_fifo so the code do what is written in the comment [Toms]
  1890. * Modified flush_fifo so you can decide whether to block the current thread
  1891. or not until the data is sent. The server-tick reply no longer blocks the
  1892. current thread.
  1893. * Fixed mobs being unable to attack anything...
  1894. 2006/12/12
  1895. * Reverted the knockback update since it isn't working right with all
  1896. skills.
  1897. * Mobs now by default are "everyone's" enemy, so mobs are able to hit each another.
  1898. * Moved "unsetting" the angry mode from the mob_ai to the mob_damage
  1899. function, where it'll work regardless of who hits the mob.
  1900. * Modifed a bit the clif_change_look function, it should fix crashes with
  1901. the Xmas sprite when changing maps.
  1902. * Fixed skills displaying a 32k damage when used while disguised. [Skotlex]
  1903. * Minor changes to ers.
  1904. * Removed unused/hardly used cbasetypes typedefs.
  1905. * Updated txt-converter's makefile to include utils.o [FlavioJS]
  1906. * Updated npc_event_dequeue to free up your current npc information, and
  1907. not just the npc_id.
  1908. * Modified the skill damage packet and the knockback packets to mimic aegis
  1909. sent packets for such skills.
  1910. * Removed CART_MASK as OPTION_CART can take care of that.
  1911. * Moved the OPTION_MASK define to status.h
  1912. * Reverted the knockback implementation to use clif_slide instead of
  1913. clif_fixpos [Skotlex]
  1914. 2006/12/11
  1915. * Added various missing checks when parsing several guild actions.
  1916. * made @hominfo display the six basic stats.
  1917. * Simplified the MD_DETECTOR checks, since now all insects/demons have it
  1918. set, and it's no longer needed to check for the race. [Skotlex]
  1919. * Updated sql files [Playtester]
  1920. * Spirit of Sin and Enchant Deadly Poison now stack.
  1921. * Fixed skill damage card bonuses not working on magic skills.
  1922. * Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning,
  1923. since this function is called when a script is cancelled
  1924. * Made homunc's speed be recalculated when you respawn it from rest state.
  1925. [Skotlex]
  1926. * Fixed @revive not reviving the good char [Toms]
  1927. 2006/12/10
  1928. * Added more helpful messages when packet_ver=-1.
  1929. * Joined normal and MINICORE's main function.
  1930. * Put malloc_init() first and malloc_final() last as it's needed for Show*
  1931. in display_title(). [FlavioJS]
  1932. 2006/12/09
  1933. * Reversed revision #9415 (messages with server_tick field being sent as
  1934. soon as possible) since it didn't fix the client synchronization issue.
  1935. * clif_parse_TickSend is sent immediately so the client gets accurate
  1936. "pings". [FlavioJS]
  1937. 2006/12/08
  1938. * Now you can request a trade regardless of the state of the target trader.
  1939. [Skotlex]
  1940. * The trade will now fail when you accept it and either character is
  1941. speaking with an npc, vending or has the storage open. [Skotlex]
  1942. * Fixed crash when looters became full. [Skotlex]
  1943. * Autospell delay time is now the skill's full delay. [Skotlex]
  1944. 2006/12/07
  1945. * Fixed ladmin's linux compilation and moved some platform specific
  1946. defines to cbasetypes.h [FlavioJS]
  1947. * Cleaned up implementation of NPC_EMOTION/NPC_EMOTION_ON. Now val0 is the
  1948. emotion, val1 sets the mode, val2 adds to the mode, val3 removes from the
  1949. mode. val4 asks to remove the previous mode change, otherwise it will stack
  1950. with the changes from the previous skill call. [Skotlex]
  1951. * Updated the mob skill reading code so it accepts hexadecimals in the
  1952. 'val' fields. Also, it will optimize the NPC values so that when you set a
  1953. mob's mode to their db mode, it will just remove the previous mode.
  1954. [Skotlex]
  1955. * NPC_EMOTION_ON will now automatically move it's new mode to val2 since it
  1956. should add a mode, and if this mode doesn't has the aggressive bit, it will
  1957. remove it. See this "ancient" hypothesis on how NPC_EMOTION_ON should work
  1958. for the details: [Skotlex]
  1959. http://www.eathena.ws/board/index.php?showtopic=63606
  1960. * Fixed npc commands atcommand & charcommand not working with a custom
  1961. command_symbol [Toms]
  1962. 2006/12/06
  1963. * Changed the order of view-change packets for SC xmas/wedding, should fix
  1964. crashing if you change into xmas suit while in fighting stance. [Skotlex]
  1965. * Renamed the mob mode Cast-Sensor Melee to Cast-Sensor idle since these
  1966. mobs really should only be cast-sensing when they are not after another
  1967. target. [Skotlex]
  1968. * Added a Aegis Mob Type -> eA Mode table conversion to the mob modes doc.
  1969. [Skotlex]
  1970. * Updated sql-files [Playtester]
  1971. * Gave a minimum think time to the dummy mob and to clones. [Skotlex]
  1972. * Moved setting a mob's chase/attack states from the mob_ai to unit_attack
  1973. and unit_walktobl for better state-handling precision. [Skotlex]
  1974. * Cleaned the change-target/cast-sensor code to account for the new mob
  1975. modes. [Skotlex]
  1976. * Updated the doc explaining mob modes. [Skotlex]
  1977. * When GM skill unconditional is set, the arrow state of the skill will be
  1978. calculated, this fixes all skills getting stuck on arrow-type after you
  1979. attack normally. [Skotlex]
  1980. * Alchemist famous potions get their 50% bonus on top of the natural
  1981. bonuses as a 1.5x type of bonus. In other words, now alchemist potions
  1982. will really heal 50% more than when you use the non-famous potion
  1983. version.
  1984. [Skotlex]
  1985. * Messages with server_tick field are sent as soon as possible now.
  1986. This might fix client synchronization issues.
  1987. * Added StringBuf_Vprintf to utils.c and changed the showmsg.c buffer.
  1988. Now it uses a static buffer and a StringBuf when needed (a debug message
  1989. indicating the static buffer needs to be increased is shown). [FlavioJS]
  1990. 2006/12/05
  1991. * The can log value now is "reset" when you die allowing you to
  1992. respawn/quit instantly after death. [Skotlex]
  1993. * Fixed sc data load failing when using charsave_method: 1 [Skotlex]
  1994. * Fixed the interserver link reserve size being 8 times instead of 1/8th
  1995. the default size. Changed it to be 1/4th as well. [Skotlex]
  1996. * Found the position of emblem_id in packet 1b6.
  1997. * Moved START_ACCOUNT_NUM and END_ACCOUNT_NUM from login.h to mmo.h and
  1998. changed clif_guess_PacketVer to use that.
  1999. * Made the script engine big-endian compatible.
  2000. * Commented out the remnants of ladmin packet parsing in map-server.
  2001. * Added a warning when a player has an invalid packet version (shouldn't
  2002. happen). [FlavioJS]
  2003. 2006/12/04
  2004. * Fixed HVAN_INSTRUCT int bonuses. [Skotlex]
  2005. * Renamed mob_db's "adelay" column to ThinkTime and made the mob.c code use
  2006. it instead of MIN_MOBTHINKTIME. The adelay of mobs will also be equal to
  2007. their thinktime unless their thinktime is less than their attack motion.
  2008. [Skotlex]
  2009. * Added a static +100 Hp to ninjas and gunslingers since it's required for
  2010. the best approximated hp growth algorythm. [Skotlex]
  2011. * Knockback will again use the fixpos packet instead of the slide packet
  2012. (slide was introduced with high jump) since Aegis captures say that packet
  2013. is still used for knockbacks. [Skotlex]
  2014. * Repairing items via scripts no longer displays "item has been repaired"
  2015. [Skotlex]
  2016. * Status Recovery again makes mobs unlock their current target. [Skotlex]
  2017. * Moved requesting party/guilds from the char-server from pc_authok to
  2018. pc_reg_received, since map_nick2sd and map_getallsd won't work until the
  2019. characters are authentified. Also removed the guild master setting from
  2020. clif_parse_LoadEndAck to pc_reg_received since guild master setting will
  2021. work there. [Skotlex]
  2022. * Fixed homun hunger timer being started on login even when hom is
  2023. vaporized/dead. [Skotlex]
  2024. * Fixed mvp exp attacker bonus applying incorrectly. [Skotlex]
  2025. * Removed duplicate msg_athena.conf entries 619 and 620 for
  2026. Ninja/Gunslinger.[Skotlex]
  2027. * Fixed the txt->sql converter not escaping character names before saving
  2028. them. [Skotlex]
  2029. * Fixed a pet's level not resetting to their db level when you enable pet
  2030. leveling and later on decide to turn it off. [Skotlex]
  2031. * Fixed restricted equipment not updating your view info after they are
  2032. unequipped. [Skotlex]
  2033. * Removed a bunch of extra text/checks when ignoring characters (/ex) when
  2034. Aegis does none of these checks. /inall now wipes your ignore list (it does
  2035. this on Aegis, too). [Skotlex]
  2036. 2006/12/03
  2037. * If somehow a player logs out and it's saved with 0 hp, on login his state
  2038. will be set to dead as well so he can respawn (otherwise that leads to a
  2039. stuck char) [Skotlex]
  2040. * Fixed even share exp flutuating as described in:
  2041. http://www.eathena.ws/board/index.php?showtopic=126139
  2042. thanks to TheUltraMague for the fix.
  2043. * Made ers double frees report as missing entries on destruction.
  2044. * Only one swap function (in cbasetypes.h) is used. [FlavioJS]
  2045. 2006/12/02
  2046. * Added buildin_checkvending and buildin_checkchatting. [Lance]
  2047. * Enabled atcommand parsing for clients with Korean langtype and version. [Lance]
  2048. * Added missing min/max definitions to cbasetypes.h, needed for the @send change.
  2049. * Replaced @send with the version I use for testing packets.
  2050. Can display the packet length. Supports dynamic packets, quoted strings
  2051. with escaped characters and fixed/variable length, and normal/hex
  2052. byte/word/long data types. The number of fields is not limited, but it
  2053. automatically stops parsing when the packet is full. [FlavioJS]
  2054. 2006/12/01
  2055. * Fixed passive mobs becoming increasingly unlikely to retaliate to attacks
  2056. after they got inflicted by a disabling status change. [Skotlex]
  2057. * Changed the "is_boss" define to check for mode MD_BOSS instead of giving
  2058. mvp exp. [Skotlex]
  2059. * Updated sql files [Playtester]
  2060. * Fixed txt-converter compilation. [Skotlex]
  2061. * STRECOVERYno longer makes a mob unlock it's target like Cure does.
  2062. [Skotlex]
  2063. * Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was
  2064. consuming 2 grenades instead of one). Also added a "explosion effect" when
  2065. their time runs out. [Skotlex]
  2066. * gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will
  2067. force pvp ranking gain/loss on gvg_dungeon maps now. [Skotlex]
  2068. * Now when coming out of hiding land-effects will trigger on the character.
  2069. [Skotlex]
  2070. * Fixed land effects not taking effect inmediately on map-load when the
  2071. invincible timer is disabled. [Skotlex]
  2072. 2006/11/29
  2073. * Probably fixed the Segmentation Faults we've been having.
  2074. Description: A player quits and it's session is freed and set to NULL,
  2075. but the char server already sent a packet with player information
  2076. (registers, storage, ...). If a message is sent in consequence of
  2077. updating that info, a segmentation fault happens because
  2078. session[sd->fd] is already NULL.
  2079. Fix: make shure the session of the target player is valid before
  2080. processing the rest of the char server's message.
  2081. * Some minor cleanups. [FlavioJS]
  2082. * Fixed the new npc parsing code not accounting for windows-style line
  2083. terminators, which as a side effect messed up mapflag parsing if the file
  2084. had windows-style terminators, which coincidentally was the case for the
  2085. nopvp file, which unfortunately meant that all towns became pvp! [Skotlex]
  2086. * HT_PHANTASMIC no longer knocks back even when it misses. [Skotlex]
  2087. * Earned exp by dead homuns will now be lost (same treatment as earned exp
  2088. from players that died) [Skotlex]
  2089. * Now gvg_dungeon mapflag will activate the other mapflags which are
  2090. required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced
  2091. to off if gvg_dungeon is on and viceversa) [Skotlex]
  2092. * Cleaned the pvp ranking code so that it takes effect even if
  2093. pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. [Skotlex]
  2094. * Now homuncs and their masters are the only ones who can use support
  2095. skills on them. [Skotlex]
  2096. * Some cleaning on the homunc speed calculating code, so that it correctly
  2097. uses the default walk speed if the player has no speed yet. [Skotlex]
  2098. 2006/11/28
  2099. * Fixed a typo which made the wedding_ignore_palette setting not work when
  2100. you log on with them equipped [Skotlex]
  2101. * Applied The Ultra Mage's patch to use strict npc header formatting
  2102. parsing. Updated the relevant stock scripts/mapflags that didn't conform to
  2103. the standard. [Skotlex]
  2104. * Moved the blocking of casting supportive skills on homunculus from
  2105. battle_check_target to status_check_skilluse as bct is not invoked unless
  2106. the skill is offensive (or party/guild only) [Skotlex]
  2107. * Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int
  2108. bonuses skills making their atk/def/mdef stack with itself over and over.
  2109. [Skotlex]
  2110. * Updated sql files [Playtester]
  2111. * Changing setting the Guild Master from pc_authok to clif_parse_LoadEndAck
  2112. so that it will not fail to set the gmaster flag when the first person of a
  2113. guild to log on is the guild master. [Skotlex]
  2114. * Modified the way Storm Gust freeze's counter works. Now it checks for the
  2115. caster of the Storm Gust, if it's the same as the previous hit, the counter
  2116. is increased, otherwise, the ID is updated and the counter is changed to 1.
  2117. [Skotlex]
  2118. * Fixed always receiving at least 1 bexp/jexp even when the mob gives no
  2119. exp at all. [Skotlex]
  2120. * Changed write to send as suggested by TheUltraMage in:
  2121. http://www.eathena.ws/board/index.php?showtopic=105417
  2122. Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
  2123. * Server name in core.c skipping '\\' characters.
  2124. * Memory allocation functions using file,line,func from the invoking functions.
  2125. * Other minor malloc changes. [FlavioJS]
  2126. 2006/11/27
  2127. * Now when a player's "attack once" request fails due to range, the client
  2128. is told to move to the target to attack it. This sort of fixes the problem
  2129. of the client SPAMMING the server with attack requests from afar without
  2130. even approaching the icewall. [Skotlex]
  2131. * Updated the status change field "option" to an int rather than short.
  2132. This fixes the option values for xmas/sightblaster not getting set, which
  2133. could explain why some people crash when equipping weapons while in xmas
  2134. suit. [Skotlex]
  2135. * Fixed the Homunculus hungry timer not starting on login. [Skotlex]
  2136. * Added logging for standard GM commands (/mm /b /kick etc) [KarLaeda]
  2137. * Some cleanups on the trade_additem function. When specifying a qty of 0,
  2138. an ack will be returned to the client so it doesn't gets stuck. [Skotlex]
  2139. * Update sql files [Toms]
  2140. * Corrected the skill animation for Absorb Spirits [Skotlex]
  2141. * Cleaned up a bit the implementation of how Gravity Field blocks the
  2142. caster from moving. [Skotlex]
  2143. * Mob class-changing will fail if the new class is the same as the previous
  2144. one. [Skotlex]
  2145. 2006/11/24
  2146. * Homunc's min matk is now always equal to max matk [Skotlex]
  2147. * Fixed EDP's damage being 100% more than it should (should be 4x, not 5x
  2148. on normal attacks) [Skotlex]
  2149. * Self Destruction will only hit everyone and not just enemies when used by
  2150. mobs (non marine spheres) unless the map is a versus map. [Skotlex]
  2151. * Spider Web's duration is now halved on players (before it was halved in
  2152. pvp maps only) [Skotlex]
  2153. * Likely fixed Homunculus not disappearing the second their intimacy hit 0.
  2154. [Skotlex]
  2155. * Fixed uninitialized variable fd being used in WFIFOHEAD in a few clif
  2156. functions. [Skotlex]
  2157. * Fixed the fact that the TURBO code breaks when you attempt to handle more
  2158. than one connection at a time within the same function. However this broke
  2159. map-server compilation, therefore, don't use TURBO yet! [Skotlex]
  2160. * While at it, cleaned a few packet implementations in the char/login
  2161. servers which were not only ugly, but had some really stupid flaws within.
  2162. [Skotlex]
  2163. 2006/11/23
  2164. * Completed Reddozen's hanging mapwarp code to support party and old syntax. [Lance]
  2165. * Updated sql files [Playtester]
  2166. * Made WFIFOHEAD() check for available buffer size remaining on the
  2167. connection, and when there's not enough space, it will increase it.
  2168. [Skotlex]
  2169. * Added define TURBO to the Makefile. It enables MouseJstr's socket access
  2170. optimization which should speed up the code when accessing the write/read
  2171. buffers repeatedly within a function. [Skotlex]
  2172. * Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used
  2173. incorrectly (prevents TURBO enabled compilations from finishing) [Skotlex]
  2174. 2006/11/22
  2175. * Modified slaves_inherit_speed and slaves_inherit_mode so you get better
  2176. control of when to copy/remove modes/speed. See the conf changelog for
  2177. details. [Skotlex]
  2178. * Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be
  2179. able to switch targets while attacking. [Skotlex]
  2180. * Some cleanups around usage of session[] in the map server, hoping that it
  2181. may fix some not very likely crashes. [Skotlex]
  2182. * Rewrote a few messy @ commands. [Skotlex]
  2183. * Fixed the homunc hungry timer being started when the homun data is
  2184. received from the char-server and the homunc is NOT 'active'. [Skotlex]
  2185. 2006/11/21
  2186. * Fixed the Auto-Berserk giving you back defense when it triggers during
  2187. berserk's HP penalty. [Skotlex]
  2188. * Some small changes in the pet ai to make it more responsive. [Skotlex]
  2189. * Rewrote the pet looting behaviour (taken from the mob's), pets are much
  2190. more smarter now when looting from multiple possible items. [Skotlex]
  2191. * Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and
  2192. their master logs out. [Skotlex]
  2193. * Added support for specifying ammo type = 99 in the skill_require_db file,
  2194. it can be used to specify that any kind of ammo can be used with the skill,
  2195. but you NEED to have ammo equipped. [Skotlex]
  2196. * Corrected GS_DISARM, it is now a normal attack, which, when it connects,
  2197. has a chance to do strip weapon at a 3*lv% rate (modified by dex) [Skotlex]
  2198. * Fixed GS_PIERCINGSHOT, it should ignore defense [Skotlex]
  2199. * Corrected Gatling Fever costing SP when trying to turn it off. Also,
  2200. speed increases bonuses won't take effect while it's active. [Skotlex]
  2201. * Updated the main makefile with a new OPT line. It is commented by default
  2202. since it only works with GCC 4.X, when unset, it will hide away a huge
  2203. amount of warnings that have to do with stuff that is not gonna be
  2204. corrected in eA anyway. [Skotlex]
  2205. * Corrected TripleAction's damage. It should do 150%*3 instead of 100*3%
  2206. damage. [Skotlex]
  2207. * Updated GS_CRACKER's stun chance using Doddler's info as reference.
  2208. [Skotlex]
  2209. * GS_FLING won't reduce armor defense when used on players. [Skotlex]
  2210. * Moved ignoreAll to state.ignoreAll so it saves some space. [Skotlex]
  2211. * Cleaned up clif_parse_Wis to prevent crashes from forged packets
  2212. [Skotlex]
  2213. * Cleaned up the implementation of the ignore list so it's more efficient.
  2214. [Skotlex]
  2215. 2006/11/20
  2216. * Implemented NPC_DEFENDER. Reduces ranged Physical+Misc damage by 80%
  2217. [Skotlex]
  2218. * Improved the battle config reader so it accepts hexadecimal values.
  2219. Updated the monster_ai description to make use of this [Skotlex]
  2220. * Added monster_ai&0x200. When set, mob skill delays are shared. That is,
  2221. if the mob has several lines with the same skill, when the skill is used,
  2222. the delay will be set to all of them, not just the one entry used.
  2223. [Skotlex]
  2224. * Corrected NPC_BARRIER so it grants 100 def/mdef (and not just mdef)
  2225. [Skotlex]
  2226. * Weapon ATK bonuses will now only apply to watk and NOT watk2 on players
  2227. (on players watk2 is refine bonus) [Skotlex]
  2228. * Corrected NPC_KEEPING. it should give 90 def, not 100 [Skotlex]
  2229. * You now can't use other skills while a skill-induced "window" is up
  2230. (teleport, refining, etc). However, be warned that we aren't quite sure how
  2231. the server will clear this out if you decide to hit cancel on the window,
  2232. so skill-blockage is likely to happen (temporary solution: whenever you
  2233. change maps or warp the state is reset server-side). [Skotlex]
  2234. * Fixed itemskill variable being cleared before parsing the skill, this
  2235. causes auto-casted teleport to fail to skip the skill menu. It is now
  2236. cleared on castend_pos/id directly. [Skotlex]
  2237. * Skills with state 'move_enable' will now do a "walk path" check between
  2238. target cell/object and caster instead of a "shoot path" check, this would
  2239. fix skills like snap or charge from letting you "teleport" across pits.
  2240. [Skotlex]
  2241. * Raised the amount of skills that can stack on a single cell before the
  2242. "in-area/out-area" detection code breaks to 24 (from 8) [Skotlex]
  2243. * Fixed a crash in clif_SkillInfoBlock if the passed player already
  2244. disconnected. [Skotlex]
  2245. * Added limiting drop rate to 100% from item-bonuses that depend on the
  2246. mob's level so that "@autoloot 100" will catch them. [Skotlex]
  2247. 2006/11/19
  2248. * Removed security check since source level patch is applied.
  2249. * Reverted select(), created prompt().
  2250. * Hack protection from packet monkeys in clif_parse_NpcSelectMenu. [Lance]
  2251. * Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue
  2252. to load if 'cancel' is pressed and 255 will be returned. [Lance]
  2253. 2006/11/17
  2254. * Corrected use of the party invitation reply packet, thanks to FlavioJS.
  2255. [Skotlex]
  2256. * Fixed potential hack by modifying packet of whispers. [Lance]
  2257. * Fixed potential crash in IRC processing message with '%' using *printf. [Lance]
  2258. * Fixed memory leaking caused by homun_data not freed when removed. [Lance]
  2259. * Fixed client not validating the chat-kick-request packet, which can cause
  2260. crashes. [Skotlex]
  2261. * Updated map_quit to handle removing of players who are not even
  2262. authenticated yet. [Skotlex]
  2263. * New connection requests are now also blocked when there's a player
  2264. already online but hasn't finished loading yet. [Skotlex]
  2265. * Because of these changes, the friendlist notification when people join
  2266. has been moved to LoadEndAck from pc_authok [Skotlex]
  2267. 2006/11/16
  2268. * Updated sql files [Toms]
  2269. * For the sake of avoiding confusion, all script events are named with prefix 'On'
  2270. from now on. [Lance]
  2271. * Edited atcommand and charcommand syntax. Now it doesn't need the useless
  2272. character name and ":". [Lance]
  2273. * Shadow Jump and Kirikage won't "move" you if you use them in GvG grounds.
  2274. Fixed Kirikage so it first warps you, and then you unhide. [Skotlex]
  2275. * Corrected Zeny Nage so the Zeny spent on the attack is always the exact
  2276. same value as the damage you are dealing. Also corrected it so it does half
  2277. damage when used on players. [Skotlex]
  2278. * Overlapping song/dances will now cause dissonance/ugly-dance level 1
  2279. instead of retaining the level of their song/dance. [Skotlex]
  2280. * Fixed wrong check in @petrename, thanks to The Ultra Mage.[Skotlex]
  2281. 2006/11/14
  2282. * Early Christmas present. 3 new "features" which were very easy to code,
  2283. and should help scripters tremendously. Eapp is quite a way from being
  2284. ready, so these can't hurt:
  2285. * Implemented Karma: It turns out that when someone has karma, the client
  2286. believes this character is "evil", and will give you a cursor sword on top
  2287. of them automatically. So now the code will let characters with karma to
  2288. fight each other. This enables duels and other types of restricted pvp
  2289. where only the characters with karma can hit each others, and the rest of
  2290. players with neutral karma cannot be affected. Note that Karma cannot be
  2291. negative, and it can have any value between 0 and 256 (any non-zero value
  2292. makes them appear evil on the client). For now, characters with karma can
  2293. hit each other regardless of karma value, but perhaps it may be better to
  2294. let them to hit each other ONLY if they have the same karma (the whole
  2295. duel implementation COULD be cleaned up using Karma instead!)
  2296. * Added mapflags partylock and guildlock, which lock the state of the
  2297. parties/guilds on said maps:
  2298. partylock: blocks user party requests to create/invite/leave/kick
  2299. guildlock: blocks user guild requests to create/invite/leave/expel/
  2300. make alliance/make opposition/delete alliance/delete opposition/
  2301. break guild
  2302. 2006/11/13
  2303. * Fixed a bug where the char-txt server was incorrectly saving memos,
  2304. causing character data to be lost on restart. [Skotlex]
  2305. * HP Conversion will fail when used at max SP. It should not display any
  2306. errors to the client. [Skotlex]
  2307. * Modified yet again the login procedure to enable character variables to
  2308. work on item scripts. It SHOULD work crashless now. Please report any
  2309. problems it may cause.
  2310. * Volcano/Deluge/Violent Gale are now interchangeable, in the sense that
  2311. as long as one of these is out, casting any of the three will not consume
  2312. gems, and will use the remaining time of the previous one. In turn, Land
  2313. Protector will now always consume gems on every cast. [Skotlex]
  2314. * Small cleanup in the Land protector code which may fix it not blocking
  2315. AoE skills. [Skotlex]
  2316. * Fixed the interpretation of "head_dir". Removed setting head_dir to match
  2317. character direction in the whole code. Now it is only reset to 0 (look
  2318. forward) when unit_setpos is invoked, or when a character begins walking.
  2319. Thanks to FlavioJS for figuring out how the client parses the head
  2320. direction. [Skotlex]
  2321. * Moved status_calc_pc back to pc_authok. [Lance]
  2322. 2006/11/11
  2323. * Fixed debug message in login_sql [KarLaeda]
  2324. 2006/11/10
  2325. * Deluge/Violent Gale/Volcano tiles will now fail to be placed on cells
  2326. that are already ocuppied by anything else. [Skotlex]
  2327. * status_is_immune will now return 0 or the amount of immunity of the
  2328. target. In which cases it returns 100 for WoH and the GTB bonus when they
  2329. have passed the gtb_sc_immunity setting. This enables targetted spells to
  2330. not "fail silently" unless GTB's magic reduction is 100. [Skotlex]
  2331. * Fixed Homunculus being spawned as soon as they arrive from the
  2332. char-server even if the Master has not spawned on the map yet. [Skotlex]
  2333. * AL_TELEPORT now fails when used on top of Land Protector. [Skotlex]
  2334. * Some minor cleanings in pc_setpos, it may (or not) help fix that
  2335. homunc-caused "map_addblock" error message. [Skotlex]
  2336. * Corrected fog of wall, so that the deleted/doubled-duration effects are
  2337. calculated on a cell-by-cell basis. [Skotlex]
  2338. * Updated Land Protector: It will now delete/block effects of ALL ground
  2339. skills EXCEPT: Song/Dances/Traps (encores are still blocked). Land skills
  2340. blocked/deleted by LP also can't be casted on top of an existing LP. The
  2341. code uses the inf2 value of the skill to determine if it is a
  2342. song/dance/trap. [Skotlex]
  2343. * Ganbantein, mimicking LP, will now also remove ensembles. [Skotlex]
  2344. * Fog of Wall will fail when casted on top of a Volcano/Violent Gale
  2345. [Skotlex]
  2346. * Applied FlavioJS's fix to the npc whisper system. [Skotlex]
  2347. 2006/11/09
  2348. * Fixed status-change loading not working. [Skotlex]
  2349. * Fixed permanent mob-spawn script-events not working. [Skotlex]
  2350. * AL_CURE won't confuse undead players. [Skotlex]
  2351. * Corrected the Fog of Wall check so that it lasts 2x when it is placed on
  2352. TOP of a suiton/deluge, not when the caster is on top of them. [Skotlex]
  2353. * Updated status_check_skilluse so that when the caster has a disabling
  2354. status change (stun/petrify/etc) it will block the skill in all cases
  2355. EXCEPT on cast-end when the skill is ground-targetted. [Skotlex]
  2356. * Fixed Health Conversion skill formula bug. [Lupus]
  2357. 2006/11/08
  2358. * Fixed Desperado's hit-rate, now it behaves as it should. [Skotlex]
  2359. * The GVG map-packet will now also be sent for guild dungeon maps.
  2360. [Skotlex]
  2361. * Added clif_gospel_info which displays info about the buffs you are
  2362. receiving. Thanks to Rayce for the packet information. [Skotlex]
  2363. * Fixed Spider Web not ending when hit by a fireelemental attack. [Skotlex]
  2364. * Cast-time reductions from status changes will not be executed until right
  2365. before casting, to prevent status changes from ending when attempting to
  2366. cast and the attempt fails (invalid cells, not enough sp, wrong target,
  2367. etc, etc) [Skotlex]
  2368. * Added check to prevent Wand of Hermod from seeking for a partner to
  2369. encore, since the partner is supposed to be the warp. [Skotlex]
  2370. * Corrected the mob spawn reading code so that the event-name can be up to
  2371. 50 characters long (which is the actual event length) and so that it can
  2372. read spaces within them, it will also strip the leading/trailing quotes if
  2373. you use them so that the event is actually found on mob-death (so you can
  2374. do stuff like "My NPC::OnDead" as a valid event). [Skotlex]
  2375. * Moved the homunc inherit speed from the master from status_calc_pc to
  2376. LoadEndAck, since the hom's speed matches that of the master each time the
  2377. master changes maps. [Skotlex]
  2378. 2006/11/07
  2379. * Applied FlavioJs's patch which enables colored console output for Windows
  2380. systems. It also includes a config setting called
  2381. "stdout_with_ansisequence" with which you can turn off the color codes (in
  2382. case you are logging all output) [Skotlex]
  2383. * Added error reporting when the max number of ground unit cells has been
  2384. reached (this may be the reason why sometimes it fails to recognize when
  2385. you step out of a song/dance/encore) [Skotlex]
  2386. * Added passing the Endure effect to other devoted people. Note that the
  2387. "hit count" is individual for each character, and only when it ends on the
  2388. Crusader himself will that force it to end on everyone else. It also will
  2389. not transfer on gvg grounds, but it does transfer in pvp. [Skotlex]
  2390. * Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars.
  2391. [Skotlex]
  2392. * Added a check to prevent casting ground skills on a target and vice-versa
  2393. when said skill use packets are received. It really shouldn't be
  2394. exploitable, but doing that certainly makes the server print a lot of
  2395. "unknown skill used!" messages. [Skotlex]
  2396. * Fixed map_foreachiddb and map_foreachpc so they don't encapsulate the
  2397. variable arguments into a double va_arg list. Thanks to the Ultra Mage for
  2398. the tip. [Skotlex]
  2399. * Cleaned up the clif_hate/mob_info functions with the correct fields/usage
  2400. as explained by Rayce. [Skotlex]
  2401. * Implemented clif_feel_hate_reset packet to properly display the Angel of
  2402. the Sun/Moon/Stars, thanks again to Rayce for the relevant information.
  2403. [Skotlex]
  2404. * LP will again block all land-stuff from being placed down on top of it
  2405. for the exception of Song/Dance/Encores. [Skotlex]
  2406. 2006/11/06
  2407. * Reapplied 'fix equipment scripts which are based on character variables not
  2408. working.' [Lance]
  2409. * Multiple Gunslinger skill corrections, refer to
  2410. http://ro.doddlercon.com/guides/gunslinger.html for information source:
  2411. [Skotlex]
  2412. - Corrected Ground Drift. Splash range of 3x3, stackable and placeable
  2413. underneath others, cast time is 2 secs. It's considered ranged, and it's
  2414. bonus damage increase is defense ignoring, always neutral.
  2415. - Corrected Bull's Eye implementation, it should deal normal damage against
  2416. non brute/demi-human targets.
  2417. - GS_DUST is now considered a short-range attack.
  2418. - Implemented Desperado's hit rate based on distance to caster as it's
  2419. believed to behave.
  2420. - GS_TRACKING's range is no longer affected by Snake Eye.
  2421. - GS_FLING's defense reduction is now 5*lv%
  2422. * Suiton's Speed/Agi penalty will affect everyone when used in versus maps.
  2423. * Corrected Kaupe so it doesn't ends on the first part of Soul Destroyer.
  2424. [Skotlex]
  2425. * Applied some cleaning to the way Tatami Gaeshi knocks back. [Skotlex]
  2426. * Cleaned up the way mobskill_use checks for the correct event. It should
  2427. fix unlimited mob-skill-casting issues. [Skotlex]
  2428. * Removed the return code entry when logging GM reload-GM requests
  2429. (login-sql),it'll just be stored as zero. [Skotlex]
  2430. * Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP.
  2431. [Skotlex]
  2432. * Applied the correction on maprespawnguildid so that it parses ALL players
  2433. and not just those on a map. [Skotlex]
  2434. * TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched
  2435. ones) and Preserve will be unable to block this. [Skotlex]
  2436. * Soul Linkers are now immune to SA_DISPEL [Skotlex]
  2437. * You can now place everything (except magic skills) on top of LPs.
  2438. [Skotlex]
  2439. * Corrected Ganbantein to not touch song/dance/ensembles. [Skotlex]
  2440. * Status_calc_pc will refuse to execute if the player is still tagged as a
  2441. "new connection" and the invocation is not meant to be the first one.
  2442. [Skotlex]
  2443. * Swapped the order of checks in status_isimmune so that Wand of Hermod
  2444. skill blocking takes precedence over GTB's [Skotlex]
  2445. * Client packets will all be ignored while a player is not on a map until
  2446. the LoadEndAck packet is received. [Skotlex]
  2447. * Reverted changes, moved status_calc_pc(sd,1) back to pc_authok
  2448. since it causes problems. [Lance]
  2449. * Temperory fixed stability issue caused by initial status_calc_pc
  2450. being placed AFTER another status_calc_pc. [Lance]
  2451. 2006/11/05
  2452. * Updated sql files [Toms]
  2453. * Updated perl files acording to rev 9135 [Toms]
  2454. 2006/11/04
  2455. * Readded duel code in map_quit. Why it has been removed!? [LuzZza]
  2456. * Converted itemdb tables to use smallint. Credits to ALZ. [Lance]
  2457. 2006/11/01
  2458. * Reverted LK_Berserk HP requirement, as everything, including kRO X.2 and
  2459. pRO X.3, points that way. [Vicious]
  2460. 2006/10/31
  2461. * Fixed song/dance/encore cells not being placed down when casted on top of
  2462. a land Protector. [Skotlex]
  2463. * Update homunc's speed when master's speed changes, should avoid homunc's
  2464. speed = 0 on login (homunc's stats are calculated before master's stats) [Toms]
  2465. * When Kaizel (or super novice rebirth skill) triggers, you get debuffed
  2466. now. [Skotlex]
  2467. * Modified the player_cloak_check_type and monster_cloak_check_type
  2468. settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal
  2469. attacks, and 4 makes cloaking NOT end when using skills. The default
  2470. setting for players is still 1, but for mobs the default has been changed
  2471. to 4. [Skotlex]
  2472. * Non-players can now use all skills while hidden. [Skotlex]
  2473. * Added a check to prevent adding negative damage to the total accumulated
  2474. damage in mob_damage. It could fix some exploits, even though mob_damage
  2475. should never be invoked with negative damage anyway. [Skotlex]
  2476. * Implemented the property where the first attacker get's double exp-share
  2477. than the others. Due to the way exp calculation is done, this bonus will
  2478. not apply when you use exp_calc_type 1 (damage/max_hp) instead of the
  2479. default (damage/total-damage). For now this bonus is done after calculating
  2480. who is the MVP character instead of before. [Skotlex]
  2481. 2006/10/30
  2482. * Fixed a little bug in event enqueue code [Toms]
  2483. * Updated the code so mobs can use ChainAction as a targetted skill.
  2484. [Skotlex]
  2485. * Added GroundDrift effects for Wind (Stun) and Fire (knockback). The
  2486. knockback value is unknown, so 3 is used for now. [Skotlex]
  2487. * Cleaned up some more the steal code, now you can't steal the last slot
  2488. regardless of skill level used. [Skotlex]
  2489. * Added consideration of Chain Action when cloning GunSlingers. [Skotlex]
  2490. * Modified battle_calc_return_damage to take the skill id as well, now
  2491. magic damage return will not work on skills tagged as ground or self
  2492. targetted. [Skotlex]
  2493. * Fixed Gank not working at all with the default max steal tries setting.
  2494. [Skotlex]
  2495. * Soul Drain won't work with skills tagged as self-targetted. [Skotlex]
  2496. * Improved the Suiton code so that the walk/agi penalty only applies to
  2497. enemies of whoever casted the skill. [Skotlex]
  2498. * Moved the initial status_calc_pc call to when you finish loading the map,
  2499. should fix equipment scripts which are based on character variables not
  2500. working. [Skotlex]
  2501. * Fixed getcharid according to samples and docs. [Lupus]
  2502. Thanks to joshuaali for pointing it out. eAPP has no such bug
  2503. 2006/10/27
  2504. * Fixed mob-skill event "skillused" not triggering at all. [Skotlex]
  2505. * Summoned mobs will only be removed from a map if their master is also
  2506. removed (dynamic mobs) [Skotlex]
  2507. 2006/10/26
  2508. * Updated sql files [Playtester]
  2509. * Experimental tweak to npc_parse_function - Overwrite existing functions. [Lance]
  2510. 2006/10/25
  2511. * Cleaned up some more the event dequeue code, it will no longer clear out
  2512. the npc_id if there's no events waiting to be executed (why does it clears
  2513. the npc_id anyway?) [Skotlex]
  2514. * Because of possible conflicts with this change and the on-login script,
  2515. now the on-login script is executed when the player has finished loading
  2516. into their start-up map rather than as soon as receiving the registry
  2517. variables from the char-server. [Skotlex]
  2518. * Some cleaning of the pc_eventtimer and pc enqueue code, it should fix
  2519. some memory leaks when the event counter does not matches with the actual
  2520. number of queued timers during logout. [Skotlex]
  2521. * Fixed "skill_sp_override_grffile: yes" causing crashes when parsing
  2522. Homuncuus/Guild skills. [Skotlex]
  2523. * Made the exp bonus settings be adjustable: [Skotlex]
  2524. - exp_bonus_attacker: Indicates how much additional exp a mob gives per
  2525. additional attacker (eg: 10 -> +10%*attacker)
  2526. - exp_bonus_max_attacker: Indicates at which number of attackers the bonus
  2527. is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or
  2528. 10 people attack it)
  2529. - Changed the way the party_even_share_bonus setting works. It now uses a
  2530. simple linear bonus increase (eg: 10 -> +10%*party member)
  2531. - The defaults are as explained by Tharis: +25%/attacker, capped at 12
  2532. attackers, no party bonus. The first two can be found in exp.conf, the last
  2533. one was left in party.conf
  2534. * MG_STONECURSE and NPC_PETRIFYATTACK now use time1 to specify the
  2535. "petrifying time". This value has been set to 5 seconds. [Skotlex]
  2536. * Now when SC_STONE is triggered from status-change cards, it's petrifying
  2537. duration will be passed as 0, causing the minimum (1 sec) to be used.
  2538. [Skotlex]
  2539. * Got rid of clones in src: old Novice Grounds map -> new_zone0? [Lupus]
  2540. 2006/10/24
  2541. * Removed again your mdef reducing "petrifying" time as apparently it can't
  2542. be reduced by mdef. [Skotlex]
  2543. * Cleaned up the "show_steal_in_party" setting so it only takes effect when
  2544. the item was successfully stolen (there was no point in telling you the
  2545. item couldn't be stolen due to being overweight) [Skotlex]
  2546. * Cleaned up the pc_steal_item implementation (again). It now uses a more
  2547. random, simple approach in each steal attempt. [Skotlex]
  2548. * Changed the way the skill_steal_max_tries work. Now it actually MEANS the
  2549. max number of steal tries, use 0 to disable (unlimited tries). [Skotlex]
  2550. 2006/10/23
  2551. * Added a bunch of important indexes when dealing with the log tables.
  2552. Added upgrade_svn9050.sql which adds these indexes as well. [Skotlex]
  2553. * Expanded the family check to work as it should, exp-share-range is
  2554. respected, and the child is not considered for it (thanks to TheUltraMage
  2555. for the investigation) [Skotlex]
  2556. * Double Casting will no longer fail when used. [Skotlex]
  2557. * Modified SC_STONE so that the duration of the "petrifying" time is 5 secs
  2558. reduced by your natural resistance to petrify (which is mdef%) [Skotlex]
  2559. * Modified the meaning of the third column in the skill_require_db. Instead
  2560. of MaxHP, this is now called MaxHPTrigger. This column (which was
  2561. previously unused by all skills) signals the limit HP% that you can have to
  2562. be able to use the skill. For example, setting it to 20 means the skill is
  2563. unusable if you have more than 20% life (note that this is merely a
  2564. threshold setting, it won't actually substract HP when used!) [Skotlex]
  2565. * Adjusted LK_BERSERK so you can only use it when you have 20% or less
  2566. life. [Skotlex]
  2567. * Removed NJ_TOBIDOUGU adding damage to W_HUUMA weapons which somehow got
  2568. readded. [Skotlex]
  2569. * When nonplayers use Cloaking, it will be forced to level 10 since mobs
  2570. shouldn't have movement/attack restrictions while walking cloaked.
  2571. [Skotlex]
  2572. 2006/10/20
  2573. * Made HAMI_CASTLE use clif_slide rather than clif_fixpos. This should
  2574. fix clientside problems when castling between two positions the (client)
  2575. path finding can't find a walkable bath between anymore. [blackhole89]
  2576. * Fixed the Homunc not spawning next to you after receiving it's data from
  2577. the char-server. [Skotlex]
  2578. * Fixed Charge Atk being able to go through chasm/pits. [Skotlex]
  2579. * Moved the homunculus DB information from the player structure to the
  2580. homun structure. Modified the homunculus creation packets to hold this
  2581. information during creation, also, all initial values are handled by the
  2582. map-server, the char server only assigns it a homun ID. [Skotlex]
  2583. WARNING: This is yet untested! It's very possible something could had
  2584. broken after changing the format/size of the homunc creation packets.
  2585. * Added config setting "summon_flora_setting", which it you can decide now
  2586. two things: a. Whether or not players can harm your floras outside versus
  2587. grounds, and b. Whether or not you can summon out and mix different types
  2588. of plants at the same time. [Skotlex]
  2589. * Likely fixed pc_steal_item always failing to steal (it was attempting to
  2590. steal random item IDs...) [Skotlex]
  2591. * Cleaned up a bit the mob on-death event so that when the killer is a
  2592. homunculus, it's master will be taken. Also, the variable killerrid will be
  2593. set before running the script to specify who delivered the final blow. If
  2594. the killerrid matches with the script attached player, you can be sure your
  2595. player did the final blow to the mob, otherwise, the attached player is who
  2596. did the most damage to the mob. [Skotlex]
  2597. 2006/10/19
  2598. * Cleaned up the log.c file. [Skotlex]
  2599. * Fixed log_chat not recording anything if the server is compiled in SQL
  2600. mode and sql_logs is turned off (it should then record to a plain txt file)
  2601. [Skotlex]
  2602. * Fixed SG_FRIEND, it should be triggering when Monks do Combo Finish (not
  2603. triple blows), and the trigger rate increase should be based on your known
  2604. level of SG_FRIEND, not TK_COUNTER. [Skotlex]
  2605. * Phantasmic arrow now knockbacks even if it misses. [Skotlex]
  2606. * Adjusted the way Monk combo times work. The combo time is now always
  2607. 300ms (adjusted by combo_delay_rate) which takes effect inmediately AFTER
  2608. your current skill's canact-delay (which is why the particular skill delays
  2609. were moved to skillcast_db) [Skotlex]
  2610. * Modified skill_delayfix so it performs the can-act reduction from agi/dex
  2611. for combos there. [Skotlex]
  2612. * Modified pc_steal_item so that it behaves more closely to the way it does
  2613. on Aegis. [Skotlex]
  2614. 2006/10/18
  2615. * Added a overflow check when calculating party exp share. [Skotlex]
  2616. 2006/10/16
  2617. * Adjusted UTSUSEMI/BUNSINJYUTSU so that they block range/melee weapon
  2618. attacks and only melee misc attacks. This isn't 100% correct, but it's a
  2619. better approximation to the way these skills behave. [Skotlex]
  2620. * Emergency call &16 (disable skill from nowarpto maps) will now NOT block
  2621. Emergency Call if that map is also a gvg-castle map. Makes it safe to turn
  2622. on this option to prevent usage from special maps (like Lhz3) without
  2623. crippling the skill during WoE. [Skotlex]
  2624. * Applied most of Mpeg's work on Ninja Skills. For information see:
  2625. http://gpegon.free.fr/ea/ninja_10-15-06_mpeg.txt [Skotlex]
  2626. * When reinvoking a combo-time, the previous combo time will be terminated.
  2627. This could fix the ongoing difficulties pulling off Monk combos. [Skotlex]
  2628. * Fixed Esma-state not ending after casting it. [Skotlex]
  2629. * Fixed @hominfo displaying intimacy on a 1/10k scale. [Skotlex]
  2630. 2006/10/14
  2631. * Homun info window to show crit value. As default, homun does NOT crit,
  2632. as monsters do not crit. This is purely for display purpose for players
  2633. to identify their homon's luk value. [Vicious]
  2634. 2006/10/13
  2635. * Base attack for non players is now calculated as str + [str/10]^2 (it
  2636. does not has +dex/5+luk/5 which players do have) [Skotlex]
  2637. * Fixed the char-sql server trying to read the gms off a "gm_db" config
  2638. setting stead of "login_db" [Skotlex]
  2639. * Corrected Throw Arrow/Musical Strike's damage formula [Skotlex]
  2640. * Altered Trick Dead. It doesn't prevents skills from being casted on you
  2641. now, but damage-based skills will do no damage. [Skotlex]
  2642. * Made the battle_config.attack_attr_none apply to pets when using the
  2643. "fixed damage" pet skill scripts. [Skotlex]
  2644. 2006/10/12
  2645. * made @killmonster make the mobs drop items again. [Skotlex]
  2646. * Added a temporary message when Angel of the Sun, Moon and Stars trigger
  2647. so you know it triggered. [Skotlex]
  2648. * When slaves_inherit_speed is set (which is also the default), homun will
  2649. have the same speed of their master when spawned. [Skotlex]
  2650. * When using Hatred and you already have a hate target, your current hate
  2651. target is displayed now. [Skotlex]
  2652. 2006/10/11
  2653. * Cleaned up the char-server code when the last point of a player is not
  2654. found. First it'll check if there's any mapserver online, and then, if
  2655. there is, it'll look for the major cities. If this fails, then the player
  2656. will be told server is closed instead of trying to send him to a "random
  2657. map". Will fix the char-server printing the misleading message "map
  2658. server not found, sending to major city" when in reality there just
  2659. aren't any map servers connected. [Skotlex]
  2660. * Corrected the mob damagelog structure so that you can't exploit it by
  2661. switching characters. [Skotlex]
  2662. 2006/10/09
  2663. * Fixed crash when char-server sends to a "random" map-server online on
  2664. connect. Thanks to TheUltraMage for pointing it out. [Skotlex]
  2665. * Should have fixed being petrified not reducing your defense and
  2666. increaseing your mdef. [Skotlex]
  2667. * Fixed SC_NOCHAT printing the "skills are now available" message twice on
  2668. natural expiration. [Skotlex]
  2669. 2006/10/08
  2670. * Updated sql files [Playtester]
  2671. 2006/10/06
  2672. * Updated Land Protector to block absolutely every land-based skills with
  2673. the exception of Encores/Dances. [Skotlex]
  2674. * Disabling status abnormalities will now reset a mob's target. [Skotlex]
  2675. * Mob morphing also resets their target now. [Skotlex]
  2676. * Monk combos no longer can ignore skill delay (delay skill for all their
  2677. combo-related skills is ASPD) [Skotlex]
  2678. * Now you can trade while in a chatroom. [Skotlex]
  2679. * Fixed homun-txt reading when the file has DOS line-type delimiters (\r\n)
  2680. [Skotlex]
  2681. 2006/10/05
  2682. * skill_blown will now trigger on-touch npcs on the landing tile. [Skotlex]
  2683. * Max trade distance has been reduced from 5 to 2. [Skotlex]
  2684. * Undisguising will now resend the cart-contents. [Skotlex]
  2685. * Added function npc_unload_duplicates(), it unloads all npcs that are a
  2686. duplicate of the passed one. For use with @unloadnpc to prevent crashes
  2687. when you unload the npc that has duplicates. [Skotlex]
  2688. 2006/10/04
  2689. * Bowling bash now always hits twice regardless of situation. [Skotlex]
  2690. * Added an underflow check to prevent sending to the client negative mdef2
  2691. value (for Frenzy'ed characters) [Skotlex]
  2692. * Modified pc_jobchange so that it automatically removes
  2693. peco/falcon/cart/homun if the new job you are changing to does not possess
  2694. the required skill for them. [Skotlex]
  2695. 2006/10/03
  2696. * Fixed a possible crash with @reloadmobdb due to pet loot timers.
  2697. [Skotlex]
  2698. * Fixed a possible crash and a memory leak on the login-SQL server when
  2699. parsing unban requests. [Skotlex]
  2700. * Renamed setting delay_dependon_dex to delay_dependon_agi, the delay of
  2701. skills is reduced now (when enabled) by AGI instead of DEX, which makes a
  2702. lot more sense than DEX. [Skotlex]
  2703. 2006/10/02
  2704. * Modified item-granded status resistance reduction to behave as explained
  2705. by Vicious (Ragnarok Monthly magazine) [Skotlex]
  2706. * Added the opt3 values to Eske [Skotlex]
  2707. * Fixed the txt->sql converter only saving the very first character
  2708. permanent variable. [Skotlex]
  2709. * Fixed the txt->sql converter saving account-wide variables as
  2710. character-wide ones. [Skotlex]
  2711. * Renamed nopenalty mapflag to noexppenalty. Using nopenalty will turn
  2712. on/off both noexppenalty and nozenypenalty now. [Skotlex]
  2713. 2006/10/01
  2714. * Removed the speed adjustment per level of Increase/Decrease Agility
  2715. [Skotlex]
  2716. * Fixed humunculi skill exploit, thanks to mr.rkit [Lupus]
  2717. 2006/09/30
  2718. * Rewrote the txt->sql converter. It now links directly to the char server
  2719. files so that it should get auto-updated with any code changes in the
  2720. later. [Skotlex]
  2721. * The converter will now also convert: account-wide variables, parties,
  2722. guilds, guild storage and guild castles. At this point the only two things
  2723. not converted are login-server-wide account variables (##, they belong to
  2724. the login converter) and homunculus (the SQL save function is messy and
  2725. doesn't lends itself to be integrated with the converter the way all the
  2726. other functions are). [Skotlex]
  2727. * misceffect2 will no longer cause the effect on top of the source object
  2728. when it is the fake npc. [Skotlex]
  2729. * Added check so that Frost Nova doesn't hides hitting animation on
  2730. targets. [Skotlex]
  2731. * Added the missing brackets around the trade logs condition check, thanks
  2732. to Coltaro. [Skotlex]
  2733. 2006/09/29
  2734. * Spurt state will now trigger on Soul Linkers as well. [Skotlex]
  2735. * Added a check un unit_run when unit_walktoxy fails. Should fix running
  2736. getting you stuck sometimes when running on diagonals near obstacles.
  2737. [Skotlex]
  2738. 2006/09/28
  2739. * Merged the necessary changes to make the script engine support negative
  2740. constants (db/const.txt). Thanks to Rayce (from jA) for the code. [Skotlex]
  2741. * Cleaned up the skill.c code to take into account when skill_unitsetting
  2742. returns null (skill failed), fixes a possible crash with Wand of Hermode
  2743. [Skotlex]
  2744. 2006/09/27
  2745. * Cleaned up status_get_party/guild_id, it should also fix a possible crash
  2746. when invoking such a functio on a masterless pet. [Skotlex]
  2747. * Sharp-Shooting will now display a skill animation. [Skotlex]
  2748. * The no_spawn_on_player setting will now also work for static mobs, but
  2749. only if the setting is set to 100 or higher. [Skotlex]
  2750. 2006/09/26
  2751. * Yet again messed with the packet sent during a splash attack, but this
  2752. time taking into account the packets that eA was using some many revisions
  2753. ago. Tests are needed to see if Magnum Break/Grimtooth don't spam the skill
  2754. animation anymore, and to see if GrandCross didn't break it's animation as
  2755. well. [Skotlex]
  2756. * Added function skill_dance_switch which handles converting overlapping
  2757. song/dances to dissonance/ugly dance. It should make the overlapping area
  2758. now behave completely like the mentioned song/dances (taking into account
  2759. interval and target type changes). [Skotlex]
  2760. * Updated battle_check_target so that non-offensive skills cannot be used
  2761. on a homun except for the homun and it's master. [Skotlex]
  2762. * Steal zeny won't work on treasure chests now. [Skotlex]
  2763. 2006/09/25
  2764. * Added an ugly check so that Heal will display 0 when healing a berserked
  2765. character (and it will again display full heal amount when healing a player
  2766. who's at full life) [Skotlex]
  2767. * Disabled again client-self-muting since it's causing too much trouble.
  2768. [Skotlex]
  2769. * Merged FlavioJS's script patch which should fix stuff like "mes ();"
  2770. causing crashes. [Skotlex]
  2771. * Item group reading will now complain when a line doesn't has enough
  2772. fields. [Skotlex]
  2773. * Fixed #baselevelup adding instead of substracting status points when used
  2774. with negative levels. Also made it reset your stats if there wasn't enough
  2775. to substract from. [Skotlex]
  2776. * Applied FlavioJS's suggestion of expanding WFIFOPOS to also take the
  2777. direction. This had the side effect of fixing the direction missing from
  2778. the mob spawn packet, which explains why all npcs face north when you are
  2779. within sight while doing a @reloadscript. [Skotlex]
  2780. * Changed the order of packets in TK_HIGHJUMP, may fix the reports of
  2781. getting stuck when jumping into a warp. [Skotlex]
  2782. * Changed a bit the code of marionette control, where a redefined local
  2783. variable may be the cause of mob-targetted Marionette Control stacking
  2784. stats up. [Skotlex]
  2785. 2006/09/24
  2786. * When the code auto-guesses that a skill should require ammo, it will
  2787. accept any type of ammo for using it instead of only arrows. Fixes Magnum
  2788. Break usage on Gunslingers. [Skotlex]
  2789. 2006/09/22
  2790. * Probably fixed a signed/unsigned mismatch warning on the new socket code.
  2791. [Skotlex]
  2792. * Fixed the "map server claims to have char online, but this other map
  2793. server also has it tagged as online" message triggering in some cases where
  2794. it shouldn't. [Skotlex]
  2795. * Fixed some maps in db/mapindex.txt being under the wrong id and added comments
  2796. so this will not happen again. [Zephiris]
  2797. --- ATTENTION! ---
  2798. People running TXT servers will have to tell their players to redo their /memo
  2799. points since the map ids of the old file were wrong.
  2800. 2006/09/21
  2801. * Fixed a bug on "select" when skipping empty entries when the selected
  2802. entry is the last. [Skotlex]
  2803. * Improved a bit RFIFOFLUSH as suggested by Harbin. [Skotlex]
  2804. 2006/09/20
  2805. * A mob's HP is set temporarily to 0 before invoking it's on-death script,
  2806. prevents said scripts being able to "rekill" the mob indefinitely (if stuff
  2807. like killmonster is used within) [Skotlex]
  2808. * Some small cleanups in chat.c [Skotlex]
  2809. * Fixed party_sub_count (TK_POWER) failing when the idle_no_share setting
  2810. was disabled. [Skotlex]
  2811. * Enabled Star Gladiators and Soul Linkers to do /doridori [Skotlex]
  2812. 2006/09/19
  2813. * Fixed nocommand mapflag causing the "you can't use commands on this map"
  2814. message to trigger one very single chat, instead of only for actual @/#
  2815. command invocation. [Skotlex]
  2816. * Added support for skipping empty string menu entries for the select()
  2817. command (just as `menu` has it already) [Skotlex]
  2818. * Fixed pc_set_hate_mob letting you place mobs on any of the three
  2819. positions regardless of size [Skotlex]
  2820. * The double continuation error will now display both scripts that
  2821. triggered it. [Skotlex]
  2822. * Loading the storage from the char-server will fail if player is already
  2823. tagged in final save state. [Skotlex]
  2824. * Removed setting ban_spoof_namer, sending invalid global-talk packets will
  2825. now just kick the player out of the server. [Skotlex]
  2826. * Added echoing messages back to self when using @/# commands on whispers
  2827. and party/guild messages, to prevent the client from muting yourself.
  2828. [Skotlex]
  2829. * Fixed some gcc4 warnings [Toms]
  2830. 2006/09/18
  2831. * Fixed Spider Web fire damage bonus. [Skotlex]
  2832. * Made Global chat always reply back to you even on @/# commands, this
  2833. prevents the client from muting yourself due to "hack". However, this same
  2834. fix isn't easily applicable to @ commands invoked from whispers or
  2835. party/guild messages, those are still pending. [Skotlex]
  2836. * Merged Meruru's update to socket.c, which includes a rewritten parse
  2837. function, which should hopefully be more efficient than the previous code.
  2838. [Skotlex]
  2839. * The new code includes support for two config settings
  2840. (packet_athena.txt): frame_size, which can be used to alter the logic
  2841. packet-size allowed by the code, and mode_neg, which when set to yes, sets
  2842. TCP_NODELAY on all connections (defaults to yes). [Skotlex]
  2843. * High-Jump is usable everywhere now, except that on maps where it
  2844. previously failed, now will just make you jump in place. [Skotlex]
  2845. * Fixed TK_RUN as per packets provided by AuronX. [Skotlex]
  2846. * Moved the equipment/card resistances to status ailments outside of
  2847. status_get_sc_def, so that they are applied only to rate, not duration.
  2848. [Skotlex]
  2849. * Modified the Asura code (again), hopefully movement sprite issues are
  2850. fixed now [Skotlex]
  2851. * @reloadscript scripts will no longer eliminate mobs with no respawn data.
  2852. But watch out for possible bugs (I think someone mentioned 1 extra
  2853. treasure box will spawn when you use it? This needs testing!) [Skotlex]
  2854. * Made speed_add_rate a linearly stacking increase. [Skotlex]
  2855. * Corrected a possible overflow when using show_mob_info to display the
  2856. mob's up as a percent. [Skotlex]
  2857. * Corrected the documentation for checkoption/checkoption1/checkoption2
  2858. [Skotlex]
  2859. * Reenabled client requesting to self mute, as the whole knockback packet
  2860. issues of the past which were causing players to mute themselves when being
  2861. knockback is no longer there. [Skotlex]
  2862. 2006/09/17
  2863. * Fixed NPC_INVISIBLE's cloak ending after attacking once. [Skotlex]
  2864. * Fixed SG_FUSION being castable without Soul Link state. [Skotlex]
  2865. * Moved the item-use restriction SC checks from clif.c to pc_use_item,
  2866. fixed Gravitation blocking potion usage on it's area of effect. [Skotlex]
  2867. * Sphere Marines and Summoned Flora are now immune to class-changing.
  2868. [Skotlex]
  2869. 2006/09/16
  2870. * Added monster_ai&256. When set, a monster will pick a random starting
  2871. position to begin checking versus it's skills, otherwise, it will always
  2872. begin checking from the beginning. [Skotlex]
  2873. * Fixed the status change duration reduction equation was was totally
  2874. wrong, thanks to k3dt [Skotlex]
  2875. 2006/09/15
  2876. * Now mobs won't do a distance check to lose their target on every ai
  2877. iteration, but only when they finish walking (unless you set monster_ai&1)
  2878. [Skotlex]
  2879. * The chase distance before a mob gives up following a player has been
  2880. increased from view-size (range2) to min-chase (range3). [Skotlex]
  2881. * Reverted the Summon Flora change where all plants were being summoned in
  2882. one go. [Skotlex]
  2883. * Moved the weapon repair effect to where it belongs (after successfully
  2884. repairing an item) [Skotlex]
  2885. * Added config setting "friend_auto_add" (battle/player.conf), if set, when
  2886. you accept someone as your friend, both characters will show up on each
  2887. other's friend list. [Skotlex]
  2888. 2006/09/14
  2889. * Changed Extremity Fist's code to make you actually walk past your target,
  2890. which displays a much more correct "animation" for the skill. Thanks to
  2891. HiddenDragon for the information and code. [Skotlex]
  2892. * Updated the item_db search functions so that when returning the
  2893. dummy-item, it first updates the nameid to match the requested one, this
  2894. prevents pc_additem later on giving you an item with ID 500 instead of the
  2895. ID requested. [Skotlex]
  2896. * Added a clif_skill_nodamage packet when using Repair Weapon, just to see
  2897. what happens. [Skotlex]
  2898. * Likely fixed "half" of the alliance being saved, which ends up in guilds
  2899. that can attack another, but not viceversa. [Skotlex]
  2900. * Added deleting of saved Status changes on character delete for the
  2901. Char-TXT server. [Skotlex]
  2902. * Fixed the can-act delay never being checked when requesting to use
  2903. Homunculus Skills. [Skotlex]
  2904. * Fixed warmth skills draining SP of the target, not the caster. [Skotlex]
  2905. * When TK_DODGE triggers, it will no longer delay your attack or movement.
  2906. [Skotlex]
  2907. * Estimation /Sense/ whatever will no longer hide the vit bonus to mdef2,
  2908. as reported by Playtester. [Skotlex]
  2909. * Updated Summon Flora to summon the max number of possible plants on one
  2910. cast. It will consume as many bottles as monsters summoned. Also cleaned up
  2911. the function to be usable by non players. [Skotlex]
  2912. * Shadow Jump no longer goes over walls. [Skotlex]
  2913. * battle_calc_gvg_damage will be invoked in gvg maps regardless of woe
  2914. time. [Skotlex]
  2915. * NPC_MENTALBREAKER now zaps matk*lv SP based on observations by Tharis.
  2916. [Skotlex]
  2917. * md->class_ will be changed on mob-class-change to fix all class-change
  2918. related bugs. On respawn, the spawn data will be used to revert to the
  2919. original class. [Skotlex]
  2920. * Improved the pet skillbonus timer for "eternal bonuses" cases where the
  2921. bonus delay is 0. [Skotlex]
  2922. 2006/09/13
  2923. * SC_CHANGE cannot override itself anymore. This fixes being able to
  2924. "recast" the skill while it's still active to lengthen the duration AND
  2925. reheal the target. [Skotlex]
  2926. * Changed a bit the dnsbl lookup in the login servers to make it faster.
  2927. [Skotlex]
  2928. * Moved the pc rate modifiers from items
  2929. (hp/sp/matk/hit/flee/cri/flee2/def2/mdef2/def/def2/speed) from
  2930. status_calc_bl_sub_pc to status_calc_pc, as it simplifies code vastly, and
  2931. also fixes Osiris card not applying to said bonuses. [Skotlex]
  2932. * Fixed pc_damage_delay_rate not working, thanks to Orn. [Skotlex]
  2933. * Modified the nocommand mapflag so you can specify the GM range that is
  2934. blocked from using commands (eg: "prontera.gat mapflag nocommand 40"
  2935. disables commands to characters in the GM range 0~39) [Skotlex]
  2936. * Modified the char-server TXT whisper system to use the online_db to know
  2937. to which map server forward whispers, instead of just sending the whisper
  2938. to every map server. [Skotlex]
  2939. * Readded the setting TCP_NODELAY on socket.c to see if it fixes the
  2940. walk-lag issue. [Skotlex]
  2941. 2006/09/12
  2942. * Modified the login SQL server so that case insensitive lookups use "where
  2943. name = BINARY 'name'" instead of "where BINARY name = 'name'", since this
  2944. way the name index should be used, and performance will no longer be
  2945. heavily affected. [Skotlex]
  2946. * Modified main.sql to add 4 missing indexes (thanks to ErkDog): char_id on
  2947. the tables memo/friends, and online/name on the char table. Added
  2948. upgrade_svn8728.sql to add these indexes to already existing tables.
  2949. [Skotlex]
  2950. * Updated convert_engine.sql to use TYPE instead of ENGINE to be compatible
  2951. with Mysql 4 installations. [Skotlex]
  2952. * Moved the morph restrictions from skill_additional_effect to
  2953. mob_class_change, so that SA_MONOCELL will not convert clones, emperium, or
  2954. treasure boxes. [Skotlex]
  2955. * Fixed 'range' might be used uninitialized warning [Toms]
  2956. * Added Jaguar's sql script to convert all tables to MyISAM. It's located
  2957. in sql-files/convert_engine.sql WARNING: Using MyISAM is much faster than
  2958. InnoDB, but you are strongly recommended to backup your database before
  2959. switching engines since we don't know if eA is fully coded to work
  2960. correctly with MyISAM yet. [Skotlex]
  2961. * Added manual deletion of sc_data entries when deleting a character
  2962. (char-SQL) [Skotlex]
  2963. * Updated main.sql to use pure MyISAM tables, removed all foreign keys.
  2964. [Skotlex]
  2965. * Updated battle_switch to use strncmpi instead of strcmpi, it makes it so
  2966. using "yessir" will match "yes", this is actually needed because if you set
  2967. a config setting to "yes " (notice the trailing space), then the map config
  2968. engine fails to read it right, and will set the config setting to 0 (no).
  2969. [Skotlex]
  2970. * Some corrections to hate_mob cleanup when triggering the Angel stuff. [Skotlex]
  2971. * Updated the show_mob_info setting to add another space to the separating
  2972. pipes, so that each field is separated by " | " instead of " |". [Skotlex]
  2973. * Homunculus intimacy will go back to 500 on evolution. [Skotlex]
  2974. * Baphomet splash damage will now hit nearby enemies regardless of flee
  2975. (but the initial attack still has to connect for the splash to trigger)
  2976. [Skotlex]
  2977. 2006/09/11
  2978. * Modified set_nonblocking and setsocketoptions in socket.c, using eApp's
  2979. code as reference. Hopefully should improve performance somewhat. [Skotlex]
  2980. * Added a comment explaining what a comment is to login/char/map config
  2981. files, as well as the main script config file. [Skotlex]
  2982. * Modified SG_FEEL so that it works the same way that in Aegis
  2983. (packet-wise) [Skotlex]
  2984. * Added a comment to explain how to "remove" a string variable from the
  2985. msg_athena entries. [Skotlex]
  2986. * Summoned and slave mobs won't show up on @showmobs anymore. [Skotlex]
  2987. * Moved Spider Web damage bonus from battle_calc_damage to battle_attr_fix,
  2988. so that damage will be doubled based on the actual attack element.
  2989. [Skotlex]
  2990. * Adjusted autospell cards to trigger only on physical weapon attacks.
  2991. [Skotlex]
  2992. * Adjusted a bit the heal code, it should now show either the full heal
  2993. amount, or 0, depending on whether the target was healed at all or not
  2994. (this also means it shows 0 if you try to heal a full-life character.. but
  2995. it's the closest I've gotten to make it display 0 on Berserked chars)
  2996. [Skotlex]
  2997. * Memorize will be consumed even on instant cast spells now. [Skotlex]
  2998. * Berserk will end now if hit and remaining hp is less or equal to 100.
  2999. [Skotlex]
  3000. * Guild Aura will be removed on sc-load to prevent Guild Masters from
  3001. getting that bonus from the old implementation. [Skotlex]
  3002. * Added D-Kalck's fix of the TXT -> SQL converter [Playtester]
  3003. 2006/09/10
  3004. * Thanks to KarLaeda, added missing function in @showmobs [Lupus]
  3005. - Script function 'query_sql': In the TXT version it doesn't fill the array
  3006. and always return -1. Added for scripts compatibility. Your scripts
  3007. won't crash in TXT version. They can work it around.
  3008. I suggest we need a function getversion()
  3009. * Updated item_db.sql and mob_db.sql [Playtester]
  3010. 2006/09/09
  3011. * Added a crash protection in case mapfreeblock unlock tries to free a null
  3012. pointer. [Skotlex]
  3013. * Moved perfect_hiding from state to special_state, so that it clears out
  3014. when you remove your pet. [Skotlex]
  3015. * Probably fixed the Taekwon Rest skills. [Skotlex]
  3016. * Fixed a npc-timer memory leak on npc_unload ("[Warning]: ers_obj_destroy:
  3017. X entries missing, continuing destruction. Manager for entries of size
  3018. 16.") [Skotlex]
  3019. 2006/09/08
  3020. * Unified the rest and ganster paradise code into a single function.
  3021. [Skotlex]
  3022. * Moved the Happy State trigger to the regen function, it now triggers at
  3023. the same time SPTIME does. [Skotlex]
  3024. * Cleaned up SG_HATE, hope it works now. [Skotlex]
  3025. * Removed sg_miracle_skill_duration, replaced it with
  3026. sg_miracle_skill_min_duration and sg_miracle_skill_max_duration, to specify
  3027. a range for the duration of the skill. [Skotlex]
  3028. * Added upgrade_svn8675.sql in case, for some reason, your guild table
  3029. still has the emblem_data field as a 'blob' with "NOT NULL" specified.
  3030. [Skotlex]
  3031. * Fixed alliance/opposition making not cancelling out map-server-side when
  3032. the guild already had max number of alliances/oppositions (thanks to k3dt)
  3033. [Skotlex]
  3034. 2006/09/07
  3035. * Fixed SC_BERSERK setting Hp to 100 when dispelled by unnatural means (eg:
  3036. wand of hermod) [Skotlex]
  3037. * Cleaned up the doridori parse clif function. [Skotlex]
  3038. * Merged some of mpeg's work on NJ skills [Skotlex]
  3039. * Removed the Warmth "stacking" code. [Skotlex]
  3040. * Added back the effect of /doridori to skill-SP regen [Skotlex]
  3041. * Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low
  3042. chance of triggering on doridori-boosted SP-regen events. However, it has
  3043. no client-side messages yet (need to add these in) [Skotlex]
  3044. * Added sg_angel_skill_ratio to specify rate at which the Angel skill
  3045. triggers. [Skotlex]
  3046. * Added unit_cancel_combo which takes care of ending a combo time and
  3047. resuming normal attack 'inmediately' [Skotlex]
  3048. * Cleaned up some the SG_HATE code, you can't change hate targets anymore.
  3049. [Skotlex]
  3050. 2006/09/06
  3051. * Fixed the memset in status_calc_pc, corrects some mysterious bugs such as
  3052. item-drop bonuses suddenly not working anymore. [Skotlex]
  3053. * Corrected SC_INCREASEAGI and SC_DECREASEAGI speed-change formula.
  3054. [Skotlex]
  3055. * Fixed Aex Aeterna ending on Soul Breaker's first half. [Skotlex]
  3056. * Applied Orn's modification on speed increases/reductions with increase/
  3057. decrease agi [Toms]
  3058. 2006/09/05
  3059. * Removed setting mob_show_hp, it's been replaced now by mob_show_info,
  3060. which can be used to specify what kind of info should be displayed from a
  3061. mob. Current options are two different formats for Hp display, and current
  3062. level (monster.conf). [Skotlex]
  3063. * Fixed Signum Crucis Def reduction being 10+2*lv% instead of 10+4*lv%
  3064. [Skotlex]
  3065. * Applied the Ultra Mage's suggestion to have the map server strip trailing
  3066. spaces/comments from the config files. It will also now print out when an
  3067. unknown config setting is found. [Skotlex]
  3068. * Fixed status change resistance not being invoked at all for pretty much
  3069. all cases. [Skotlex]
  3070. * Corrected SC_INTRAVISION not starting. [Skotlex]
  3071. * Fixed crash when attempting to read a Label as a string on a script
  3072. (thanks to End of Exam) [Skotlex]
  3073. * Fixed possible crash when changing a chat-room's owner (thanks to End of
  3074. Exam) [Skotlex]
  3075. * Fixed dispell removing SC_NOCHAT [Skotlex]
  3076. * Small fix which should correct skill_attack damaging hidden characters
  3077. when it shouldn't. [Skotlex]
  3078. * Fixed connect_until field being a smallint rather than int in the login
  3079. table (upgrade with upgrade_svn8630.sql) [Skotlex]
  3080. 2006/09/04
  3081. * Fixed crash when using Adaptation during an Encore. [Skotlex]
  3082. * Should have fixed manner being reset to 0 on logout while muted.
  3083. [Skotlex]
  3084. * Removed status_get_sc_tick, duration and chance are now both handled by
  3085. status_get_sc_def (this means status change duration and success rate
  3086. both will always follow the very same formula) [Skotlex]
  3087. * Fixed mob-kill experience getting screwed up when characters who did
  3088. damage die/logout at the moment the mob dies. [Skotlex]
  3089. * Should have fixed "sleep", thanks to Lance for figuring out the error.
  3090. [Skotlex]
  3091. * SC_REFLECTSHIELD will now be passed to devoted characters at cast-time.
  3092. [Skotlex]
  3093. * Added a check to make a mob's level 1 if the read level from the db is
  3094. less than it. [Skotlex]
  3095. * status_calc_misc will now be invoked in status_calc_bl even on the first
  3096. call, since status could have gone up due to skill bonuses. [Skotlex]
  3097. * Moved max HP/SP calculations to before invoking status_calc_misc
  3098. [Skotlex]
  3099. * Simplified distance and check_distance to use "aegis" methods (greater of
  3100. dx/dy = distance), there's a new define in map.h called CIRCULAR_AREA, when
  3101. set, the previous method is used, and "for each in range" calls will also
  3102. check for distances, making most ground skills and battle system use real
  3103. circles instead of squares. [Skotlex]
  3104. 2006/09/03
  3105. * Fixed SC_BERSERK's no regen penalty lasting pretty much forever.
  3106. [Skotlex]
  3107. 2006/09/02
  3108. * SC_REGENERATION's val4 now holds the RGN flag of what is blocked rather
  3109. than blocking all types of regen. [Skotlex]
  3110. * LK_BERSERK will now only block natural regen on state-end. [Skotlex]
  3111. * SC_EXTREMITYFIST/SC_DANCING/SC_EXPLOSIONSPIRITS will only block natural
  3112. sp regen and not skill regen [Skotlex]
  3113. * SC_REGENERATION blocking will be cancelled on logout now. [Skotlex]
  3114. * Corrected SCB_LUK not updating SCB_BATK as well. [Skotlex]
  3115. 2006/09/01
  3116. * Corrected script_commands description of getequipid, it returns -1, not 0
  3117. on fail. [Skotlex]
  3118. * Fixed the mob-id check during pet_db loading, it will also now print when
  3119. a pet is not loaded due to having an invalid mob class specified. [Skotlex]
  3120. * The "delete_timer error/no such timer" report will now print the related function [Toms]
  3121. * The Clearing unused stack report will now print the related NPC [Toms]
  3122. * The duplicate npc report will now print the related file name [Toms]
  3123. * Added config setting "partial_name_scan", which specifies whether @ given
  3124. names should use a partial string lookup or absolute name lookup. Defaults
  3125. to no (gm.conf) [Skotlex]
  3126. * Expanded status_calc_misc so it may also calculate the batk of characters
  3127. as well as their regen data (if they have it) [Skotlex]
  3128. * Fixed a memory leak when using charsave_method:1 [Skotlex]
  3129. * Soul Breaker will now be affected by Lex Aeterna on both parts of the
  3130. attack. [Skotlex]
  3131. * Status changes with no skill and no SCB* data will now go through if they
  3132. have an SI* icon. This should fix SC_MIRACLE [Skotlex]
  3133. * Reverted switching a mob's adelay/amotion when the later is longer than
  3134. the former, now both get updated to amotion. [Skotlex]
  3135. 2006/08/31
  3136. * Moved the intimacy penalty of HFLI_SBR44 and HVAN_EXPLOSION to
  3137. skill_counter_additional_effect [Skotlex]
  3138. * Simplified skillnotok_hom by using an invocation to skillnotok [Skotlex]
  3139. * Hopefully fixed BD_ADAPTATION [Skotlex]
  3140. * Homun won't lose any intimacy on death now. [Skotlex]
  3141. * Homun will be saved together with the master now (as long as the homun is
  3142. active) [Skotlex]
  3143. * Modified the error reporting in map_freeblock_unlock so that when there's
  3144. an error, the reported line number is the file's linenumber plus the
  3145. object's type *10000. This is for debug information to help track down the
  3146. already-freed error. [Skotlex]
  3147. * pc_adopt will now preserve the kid's job/job-level/experience. This means
  3148. that if you adopt a Swordman level 45, it will become a baby-swordman level
  3149. 45, with the exact same exp as before. [Skotlex]
  3150. * Fixed new mob's name not sent to the client when the mob is morphed [Toms]
  3151. * Added setting attack_walk_delay which specifies whether a character
  3152. should (or not) be able to move inmediately after starting a normal attack
  3153. (battle.conf). Defaults to 0 since that's what Aegis uses. [Skotlex]
  3154. * Fixed @summon's delete timer being screwed up. [Skotlex]
  3155. * Cleaned up a bit the summon script command. [Skotlex]
  3156. * Fixed the clone script command's delete-timer being screwed up. [Skotlex]
  3157. 2006/08/30
  3158. * Skill required-state will now only be checked on cast-begin, not
  3159. cast-end. [Skotlex]
  3160. * Added a check in status_calc_pc to prevent player rate adjustments from
  3161. from going below 0. [Skotlex]
  3162. * Removed sending normal-damage packets instead of skill packets for
  3163. splash-damaged skills, since... well, that's how Aegis does it. [Skotlex]
  3164. * Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv
  3165. vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv
  3166. minutes. Hp/Sp is no longer set to 10 after a forced expiration. [Skotlex]
  3167. * Fixed up char-sql compilation. [Skotlex]
  3168. * Added a message to @clearweather stating when climate changes will
  3169. dispel. [Skotlex]
  3170. * Corrected @hidenpc saying that it's command name was "@npcoff" [Skotlex]
  3171. * Updated itemdb reading on the char-sql server so that it reads both
  3172. item_db and item_db2 files (totally untested yet) [Skotlex]
  3173. 2006/08/29
  3174. * Added printing out whenever the irc-module attempts to connect, to debug
  3175. whether the map-server lag is due to this or not. [Skotlex]
  3176. * Mobs will now always chase players using hard-path seeks. [Skotlex]
  3177. * monster_ai&1 now only signals whether mobs should update their target
  3178. cell while chasing more frequently (rather than being state-driven like
  3179. Aegis) [Skotlex]
  3180. * Changed the defaults of view_range_rate and chase_range_rate to 120 to
  3181. aproximate better Aegis's view ranges (which are square areas and not
  3182. circles) [Skotlex]
  3183. * Applied Mpeg's work on GS [Toms]
  3184. ( http://gpegon.free.fr/ea/gunslinger_08-29-06_mpeg.txt )
  3185. * Fixed a syntax error in @showmobs [Toms]
  3186. * Added @showmobs. It shows selected mobs on your mini-map (excluding
  3187. mini-bosses & MVP) thanks to KarLaeda for the command [Lupus]
  3188. 2006/08/28
  3189. * Modified the dancing code and Moonlit Petals in particular, so that it is
  3190. treated as an ensemble like any other, it will just knockback people when
  3191. they step into it. [Skotlex]
  3192. * The memory leak reports will now print out in the logs also the revision
  3193. they belong to. [Skotlex]
  3194. * Cleaned up the scriptable npc-shop code, it should be crash-proof now.
  3195. [Skotlex]
  3196. * Added TK level-up buffs to SG too, and extended them to 10 min [DracoRPG]
  3197. * Added "Barefeet Mastery" effect to TK_RUN (thanks Tharis for both) [DracoRPG]
  3198. * Changed the produce_db format, now there's a skill-lv column right after
  3199. the skill-id column to specify required skill-level to craft this item.
  3200. [Skotlex]
  3201. * Modified the skill produce_db code to take into account the new skill-lv
  3202. requirement. [Skotlex]
  3203. * Fixed exp bonuses applying twice for the job-exp [Skotlex]
  3204. * @reloadbattleconf will now also update the ragsrvinfo table on the
  3205. char-server. [Skotlex]
  3206. * Fixed homun hp/sp growth rates stacking with HP/SP passive increasing
  3207. skills. [Skotlex]
  3208. 2006/08/27
  3209. * Fixed undefined reference to 'malloc_set' in log.c [Toms]
  3210. * Updated svn-revision reading, now it can read the new svn file system [Toms]
  3211. * Fixed a bug with homunc which could spawn on a non-walkable cell [Toms]
  3212. 2006/08/26
  3213. * Optional macro MEMSET_TURBO for faster low-level memory initializations. [Lance]
  3214. * Small bug fix in read_homunculus_expdb (a warning was always displayed) [Toms]
  3215. * Small adjustment on the mob_ai code which could fix mobs not chasing you
  3216. if you hit them from the maximum possible diagonal distance. [Skotlex]
  3217. 2006/08/25
  3218. * Cleaned some the skill unit removal added flag so that it signals whether
  3219. the skill is being force-removed, or it has "naturally expired". [Skotlex]
  3220. * The following skills will display a normal attack animation now:
  3221. NPC_WATERATTACK, NPC_GROUNDATTACK, NPC_FIREATTACK, NPC_WINDATTACK,
  3222. NPC_POISONATTACK, NPC_HOLYATTACK, NPC_DARKNESSATTACK,
  3223. NPC_TELEKINESISATTACK, NPC_SPLASHATTACK
  3224. * Skills that require a weapon and consume spirit spheres will no longer be
  3225. auto-tagged to require ammo. [Skotlex]
  3226. * Now MISC skills with delay 0 will also use the attack delay (if the skill
  3227. is tagged to do damage) [Skotlex]
  3228. * Added script commands roclass/eaclass to enable scripts to access eA's
  3229. job format. Read script_commands.txt and ea_job_system.txt for a more
  3230. complete explanation of how this job system works. [Skotlex]
  3231. * Added a flag to skill_delunitgroup, skill_delunit & skill_unit_onlimit.
  3232. If 1 is passed, it will avoid UNT_WARP_ACTIVE to be transformed in
  3233. UNT_WARP_WAITING and will destroy it. [Toms]
  3234. ( To avoid such crash : http://www.eathena.ws/board/index.php?showtopic=114102
  3235. when the code need an empty slot and the oldest one is UNT_WARP_ACTIVE )
  3236. 2006/08/24
  3237. * Little cleanup on homunc's code [Toms]
  3238. * Modified @reloadmobdb & @reloadskilldb to reload homunc's db too [Toms]
  3239. * Now when a mob's adelay is set to be less than the amotion, both values
  3240. will be swapped (this is an attempt to understand how those mobs actually
  3241. work on aegis) [Skotlex]
  3242. * script command "isrefine" will no longer return always false for equip
  3243. positions above 6 (this has not been needed since the addition of the
  3244. refine column to tbe item_db many months ago) [Skotlex]
  3245. * Added NPC_CRITICALSLASH to the list of skills that display as a normal
  3246. attack. [Skotlex]
  3247. * Reverted the previous change, changed the pet capture code to try to
  3248. capture a mob based on their view class rather than actual class.
  3249. [Skotlex]
  3250. * Fixed the md->class_ variable not being updated when a mob's class is
  3251. changed. [Skotlex]
  3252. * Added setting clear_skills_on_warp to specify when a character's
  3253. land-based skills are deleted when the caster changes maps. Defaults to all
  3254. types. [Skotlex]
  3255. * Should have fixed Brandish Spear not passing the flag to skill_attack,
  3256. causing it to do miserable damage. [Skotlex]
  3257. * Warp Portal will no longer be removed when caster steps through it (this
  3258. is left to the new clear_skills_on_warp setting) [Skotlex]
  3259. * Cleaned up status_percent_change to switch equations when the target has
  3260. high hp to prevent overflows, also it will directly take hp/maxhp when a
  3261. rate of 100 or higher is passed to prevent calculations. [Skotlex]
  3262. * Traps and Land Elemental fields are no longer automatically removed on
  3263. map change (handled now by clear_skills_on_warp) [Skotlex]
  3264. * traps_setting &2 no longer does anything (handled now by blah blah)
  3265. [Skotlex]
  3266. * Applied some change from mpeg on Ninja Skills [Toms]
  3267. * Put HVAN_Explosion based on max_hp instead of current hp [Toms]
  3268. 2006/08/23
  3269. * Fixed mob_clone_spawn completely ignoring the mode variable. [Skotlex]
  3270. * Fixed Energy Coat reducing and consuming more than it should when you
  3271. have 100% SP [Skotlex]
  3272. * Cleaned up getmapxy script function, also added support for type 4 so
  3273. that it returns a player's homunculus position if such exists. [Skotlex]
  3274. * SC_ARMOR_ELEMENT looks like gone away from status_change_start since ... rev 6791.
  3275. Try to reimplement it. [Toms]
  3276. * Fixed HVAN_EXPLOSION [Skotlex]
  3277. * Frost Nova won't display a nodamage skill packet (still need to sort out
  3278. a way to fix the splash damaged packets) [Skotlex]
  3279. * Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown [Toms]
  3280. * Added debug on "Inifity loop" to know which script is making this loop [Toms]
  3281. 2006/08/22
  3282. * More fixes to the splash code. Kamaitachi and Sharpshooting should
  3283. display correctly now. [Skotlex]
  3284. * Fixed a crash on the mobspawn script command. [Skotlex]
  3285. * Made SC_FLEET increase batk as well as watk. [Skotlex]
  3286. * Fixed gcc warning [Toms]
  3287. * Fixed AM_REST not closing the homunc status window [Toms]
  3288. * Fixed SC_NEN according to Mpeg [Toms]
  3289. * Added a ShowStatus("Terminating...\n") on login-server_sql [Toms]
  3290. * Some corrections to make Tatami Gaeshi work correctly. [Skotlex]
  3291. * Fixed SBR44 doing 100% more damage than it should. [Skotlex]
  3292. * Some more work on the splash skill code. Now splash-damaged enemies
  3293. should show no animation at all, just the damage-number, while only the
  3294. targetted character should still display the full skill animation.
  3295. [Skotlex]
  3296. * Modified the homun-txt file-save format to separate the name from the
  3297. rest of fields with tabs (like character saving does), this may fix homun
  3298. save/loading when using non-latin characters on the name, but be warned
  3299. that it also means the previous homun-data files are lost! (unless you
  3300. replace the comma before the start of a name with a tab) [Skotlex]
  3301. * getnameditem will now also work on stackable items [Skotlex]
  3302. * Corrected battle_calc_weapon_attack so that all skills ignore your
  3303. left-hand weapon, and that the Katar's double-attack damage bonus for the
  3304. offhand damage applies ONLY on normal attacks. [Skotlex]
  3305. * Fixed Resurrect Homunculus's % to 20*lv% [Skotlex]
  3306. * Added SQL update which should remove \' from guild names [Toms]
  3307. * Added option to disable character deletion of certain levels [Lupus]
  3308. check char_athena.conf for this option format
  3309. 2006/08/21
  3310. * Some more cleaning up of the splash skill code. Now the passed hit value
  3311. for the splash targetted mobs is 9 instead of 5, this allows multi-hitting
  3312. splash skills to display the number of hits correctly. [Skotlex]
  3313. * Fixed call homunc bug when the homunc was vapo and the master has change
  3314. of map [Toms]
  3315. * Fixed SQL-Guild Creation, guild name was escaped 2 times [Toms]
  3316. * Some cleaning of the splash skills. Updated skill-attack to enable again
  3317. passing of flag 0xF000 which signals that the skill level sent to the
  3318. client should be -1 (no skill name shouted). Should (hopefully) clear/clean
  3319. up a bunch of splash damage skill animation-related packets. [Skotlex]
  3320. * Homun saving won't cap hp/sp to max hp/sp since a homun can have higher
  3321. hp/sp than the one stated in the db (due to skill bonuses or status
  3322. changes) [Skotlex]
  3323. * Cleaned up some more the regen_data structure, so that
  3324. skill/sitting-skill related data is optional (since only players have it).
  3325. [Skotlex]
  3326. * Fixed AM_RESURRECTION, thanks to RockmanEXE for %HP values [Toms]
  3327. * Fixed HAMI_CASTLE, HAMI_DEFENCE & HLIF_AVOID [Toms]
  3328. * Adjusted Glittering's success rate to 20+10*lv% [Skotlex]
  3329. * Corrected isequipped() so that cards will not be tagged as "used up"
  3330. unless all the specified items were found. [Skotlex]
  3331. * Fixed a confusion in skill_attack using the src instead of dsrc for some
  3332. calls, which was causing some problems with the KAITE check from AoE
  3333. spells. [Skotlex]
  3334. * Fixed ASC_BREAKER's misc damage part not having the ignore-element flag
  3335. set. [Skotlex]
  3336. * Moved homunc battle conf from misc.conf to homunc.conf [Toms]
  3337. * Some cleaning in skill.c in regard to homun skills. [Skotlex]
  3338. * Madness Canceller now stacks with other aspd bonuses, just like Berserk
  3339. does. [Skotlex]
  3340. * Removed config setting "muting_players", and expanded the manner_system
  3341. config to specify how having negative manner (mute) affects a player (see
  3342. battle/misc.conf). [Skotlex]
  3343. * Expanded the pk_mode setting from no/yes to 0/1/2. 1 is normal pk_mode,
  3344. if 2 is used, it makes killing players give you a loss of 5 manner points.
  3345. [Skotlex]
  3346. * Fixed WS_WEAPONREFINE always failing when at less than job 50. [Skotlex]
  3347. * Fixed the Autosave routine not working when there's only one player
  3348. online. [Skotlex]
  3349. * Disabled command @rain since the client no longer supports it anyway.
  3350. [Skotlex]
  3351. * Fixed delitem not checking for the first slot's card, also optimized it
  3352. so that it doesn't checks on the other slots. [Skotlex]
  3353. 2006/08/20
  3354. * Added a check during mob_db loading so that the six basic stats, max hp
  3355. and max sp are never below 1, as this could cause crashes when using
  3356. certain skills. [Skotlex]
  3357. * Gravitation now only blocks the caster from using potions. [Skotlex]
  3358. * Corrected Madness Canceller letting you walk while the effect lasts.
  3359. [Skotlex]
  3360. * Splitted yet again ASC_BREAKER into a two-part attack. This time the
  3361. int-based damage is a MISC type attack, and gets reduced by skills as such.
  3362. [Skotlex]
  3363. * Fixed "int format, long unsigned int arg" warning [Toms]
  3364. * Fixed a warning when using cap_value(x, 0, x) on an unsigned value [Toms]
  3365. * Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos [Toms]
  3366. * Fixed homunc skill 8016 not considered as homunc skill [Toms]
  3367. * @useskill will now cause your homun to use the skill instead of you if
  3368. the skill is a Homun skill and you have an active homunculus. [Skotlex]
  3369. * Reduced the Success Chance of GS_FLING to 10+10*lv% (Playtester told me
  3370. that Vicious told him the chance was much lower like that) [Skotlex]
  3371. * Fixed some Homunc issues with HR servers (capping some values) [Toms]
  3372. * Added @hominfo command to obtain real values (not capped ones) [Toms]
  3373. 2006/08/19
  3374. * Fixed @homlvup bug [Toms]
  3375. * Fixed AM_REST & AM_RESU consumming SP if they fail [Toms]
  3376. * Fixed homunc spawning bug (they was spawned after an AM_REST + master warp for example)[Toms]
  3377. * Fixed GS_GROUNDDRIFT [Skotlex]
  3378. * Increased chance of GS_DESPERADO connecting to 20% [Skotlex]
  3379. * Fixed battle_calc_base_damage being called for the left hand even for
  3380. non-dual-wielding attacks. left-hand damage was being set to 0 later
  3381. anyway, so no exploit existed. [Skotlex]
  3382. * Moved the weapon_atk_rate bonus to battle_calc_base_damage so that it'll
  3383. apply correctly when dual-wielding different types of weapons. [Skotlex]
  3384. * Fixed job-mask 0x100000 in the item_db enabling Dancers/Bards to use the
  3385. items (0x80000 should be for them and 0x100000 should be currently unused)
  3386. [Skotlex]
  3387. * Fixed a possible sigsegv when deleting lif under Mental Change [Toms]
  3388. * Fixed HAMI_CASTLE [Toms]
  3389. * Fixed HLIF_CHANGE [Toms]
  3390. * Updated HLIF_BRAIN skill [Toms]
  3391. * Fixed homunculus intimacy on feeding [Toms]
  3392. * Added homunculus_friendly_rate battle config [Toms]
  3393. * Some compilation warnings fixed [Toms]
  3394. * Added skill's required item check on homunc skills [Toms]
  3395. * Add Condensed Red Potion as a required item for HLIF_HEAL [Toms]
  3396. 2006/08/18
  3397. * Little code cleanup on last fix [Toms]
  3398. * Fixed HLIF_HEAL healing the homunc instead of the master [Toms]
  3399. * Fixed HLIF_AVOID not increasing walk speed of master [Toms]
  3400. * Fixed the atk_rate (Turtle General Card) bonus not working on
  3401. dual-wielders. [Skotlex]
  3402. * Made HLIF_HEAL a self skill that auto-selects target to caster's master.
  3403. [Skotlex]
  3404. * Implemented SC_BLOODLUST and SC_CHANGE, cleaned up HLIF_CHANGE [Skotlex]
  3405. * Applied a correction to HVAN_EXPLOSION [Skotlex]
  3406. * Fixed Homun ASPD calculation being able to underflow and give you min
  3407. speed. [Skotlex]
  3408. * Added monster_ai&128 to make aggressive mobs ignore that behaviour of
  3409. always picking Homun targets above player targets regardless of who is
  3410. closer. [Skotlex]
  3411. * Fixed homun info packet being unable to display HP/SP correctly once the
  3412. values are above 32k. [Skotlex]
  3413. * Applied Mpeg's work on ninja [Toms]
  3414. * Fixed @homlvup [Toms]
  3415. * Added guild_aura (skill.conf) setting so you can specify when it works
  3416. and if it works on the guild-master itself. Defaults to working all the
  3417. time on everyone except GM. [Skotlex]
  3418. * Little code cleanup [Toms]
  3419. * Cleaned merc_hom_evolution to avoid free'ing/realloc'ing [Toms]
  3420. * Fixed "args of aFree is freed pointer" on Homunc deletion [Toms]
  3421. * Changed unit_free so that it receives which cleartype should be used when
  3422. the character is still on a map. Used this on status_damage so that mobs
  3423. that do not respawn when killed will properly display the death animation.
  3424. [Skotlex]
  3425. * Fixed Energy Coat consuming 10x less SP per hit than it should.
  3426. * Fixed signed/unsigned comparison issues with natural heal system [Toms]
  3427. 2006/08/17
  3428. * Vaporize will no fail when the homun is dead. [Skotlex]
  3429. * Corrected thhe double free issue that occurs when a homun dies and has no
  3430. intimacy left. [Skotlex]
  3431. * Fixed the charsave_method:1 saving/loading exp as signed ints rather than
  3432. unsigned. [Skotlex]
  3433. * Applied use of structure regen_data for a unified regen module. Natural
  3434. and skill-heal is handled by this structure, while sitting-skill-heal is
  3435. still player dependant (mostly because the other object types can't sit)
  3436. [Skotlex]
  3437. * Cleaned up the status calc code for homun by moving it from
  3438. status_calc_bl_sub_homun to status_calc_homun (where it should had always
  3439. been) [Skotlex]
  3440. * Updated SQL files [Playtester]
  3441. * Corrected map_random_dir algorithm [Toms]
  3442. * Fixed homunc natural heal and little code cleanup [Toms]
  3443. * Changed AM_CALLHOMUN Skill to spawn the homunc at 1 cell from his master [Toms]
  3444. 2006/08/16
  3445. * Fixed being unable to recast Adrenaline Rush to reset the duration
  3446. timers. [Skotlex]
  3447. * Cleaned up skill_get_range2 so that using range 0 for non-self skills
  3448. uses the caster's attack range. [Skotlex]
  3449. * Fixed AM_CALLHOMUN checking for an embryo when you have a vaporized
  3450. homun. [Skotlex]
  3451. * Spirit of Wizard will now consume an item 7321 each time it blocks
  3452. reflected magic. [Skotlex]
  3453. * Added script command jobname, retrieves a given's class name as per the
  3454. appropiate msg_athena.txt entry (this command should had been added years
  3455. ago) [Skotlex]
  3456. * Fixed null-pointer crash on Evolving a homunculus. [Skotlex]
  3457. * @produce now can make any kind of equipment [Skotlex]
  3458. * Made HLIF_AVOID and HAMI_DEFENCE cause the status change on both caster
  3459. and target. [Skotlex]
  3460. * AM_REST shouldn't be checking for a range now (since it's a self skill)
  3461. [Skotlex]
  3462. * Updated mob_ai so that mobs will use their rude-attacked skill when they
  3463. can't reach their current target. [Skotlex]
  3464. * Fixed the default txt config making pets be saved to the homun file
  3465. instead of to the pet file. [Skotlex]
  3466. * Now arrow-consuming skills where your main weapon is a whip or musical
  3467. instrument WILL count as arrow-type attacks, using the atk of the arrow and
  3468. all related bonuses. [Skotlex]
  3469. * Fixed some homun timer initialization code. [Skotlex]
  3470. 2006/08/15
  3471. * Applied multiple fixes which should take care of making homun save/load
  3472. work on TXT now. [Skotlex]
  3473. * Added Gatling Fever's batk bonus. [Skotlex]
  3474. * Some cleaning in status_damage which should prevent trying to free
  3475. already free'd pointers when unit_remove_map invokes unit_free (when
  3476. status_damage was going to invoke unit_free anyway) [Skotlex]
  3477. * Delete homunc's skills from sql when the homunc is destroyed [Toms]
  3478. * Homunc Timers should be disabled when the homunc is vaporized or dead an re-enabled on call/resu [Toms]
  3479. * Updated vc-project files to compile with the new int_homun files.
  3480. [Skotlex]
  3481. * Hopefully fixed the crash when using charsave_method = 1 [Skotlex]
  3482. * Moved s_pet structure from map_session_data to pet_data, this enabled the
  3483. removal of a few redundant values in the pet_data structure (name, class,
  3484. equip) [Skotlex]
  3485. * Cleaned up some of the pet related @/# commands, same for some script
  3486. commands. [Skotlex]
  3487. * Pet offensive skills who's inf value is self will be casted on the pet
  3488. now (for stuff like Grand Cross) [Skotlex]
  3489. * Added homun saving/loading support to char-TXT. Note that this is
  3490. completely untested, so it may be as good as broken. [Skotlex]
  3491. * Added a crash-fix on status_calc_bl_sub_homun to abort in case the homun
  3492. has no master (need to clean up this function later) [Skotlex]
  3493. * Tested char-txt load/save, it seems to be working fine, but you should
  3494. STILL backup, as I only launched the server (read old character format),
  3495. closed it down (saved into the new format) and relaunch it (read the new
  3496. format) and it didn't give problems (but there's still the possibility of
  3497. some field being read in the incorrect offset or such). [Skotlex]
  3498. * Updated the char save structure for char-TXT servers so that the homun id
  3499. will be saved, now also the map info (last point, save point, memo maps)
  3500. are now saved using the mapindex rather than the string. BACKUP BEFORE
  3501. UPDATING since this code isn't yet tested. [Skotlex]
  3502. * Cleaned up a bit the char-saving code, added overflow crash prevention in
  3503. case there are more memos than the max-allowed saved. [Skotlex]
  3504. * AM_CALLHOMUN can now be used to recall vaporized homuns. [Skotlex]
  3505. * AM_RESURRECTHOMUN will now fail when the homun is vaporized. [Skotlex]
  3506. * Added SCB_DYE which marks which status-changes need a forced cloth dye
  3507. change to 0 due to sprite issues. Currently only NJ_BUNSINJYUTSU's status
  3508. uses it. [Skotlex]
  3509. * Asura Strike now moves you to the target on fail always (unless the
  3510. target does not exists or is in another map or there's a obstacle on the
  3511. way) [Skotlex]
  3512. * Corrected skill_attack_area hitting dead characters on it's splash range.
  3513. [Skotlex]
  3514. * Swapped the values for OPTION_XMAS and OPTION_FLYING. This should enable
  3515. SG to show the fly animation again, even if sometimes others will see him
  3516. as Santa. As for xmas cloth, it shouldn't make much of a difference since
  3517. the view class is changed to christmas anyway. [Skotlex]
  3518. * Made AM_CALLHOMUN and AM_RESURRECTHOMUN be like the wedding skills, where
  3519. they automatically pick a spot around you. [Skotlex]
  3520. * Cleaned up some the AM_RESURRECTHOMUN code. Hopefully it works now.
  3521. [Skotlex]
  3522. * Cleaned up some the hom evolution code. [Skotlex]
  3523. * Fixed SIGSEGV with homunc save [Toms]
  3524. 2006/08/14
  3525. * Removed support for negative autosave intervals, instead added a
  3526. minsave_interval setting which specifies which is the minimum time between
  3527. character saves. Default to 100ms (map_athena.conf). [Skotlex]
  3528. * Sacrifice no longer shows damage to self. [Skotlex]
  3529. * When Asura fails, the skill display will still come off. [Skotlex]
  3530. * Lots of cleaning of the Homun-code. Perhaps the crashes as of late will
  3531. be fixed now (reusing AM_CALLHOMUN seems to be the cause of them)
  3532. [Skotlex]
  3533. * Increased Run's walk speed bonus to 25->50% [Skotlex]
  3534. * Modified emergency_call setting to allow for more specific configuration
  3535. (woe/non-woe, gvg-grounds/non-gvg-grounds, disable from nowarpto maps), see
  3536. skill.conf for details. [Skotlex]
  3537. * Fixed script engine allowing scripts to set a player's zeny to negative
  3538. values. [Skotlex]
  3539. * Fixed setting hide_woe_damage making even "miss" attacks seem to connect.
  3540. [Skotlex]
  3541. * When readjusting the fame-list, the last entry's id is also reset (may
  3542. fix characters appearing more than once on it?) [Skotlex]
  3543. 2006/08/13
  3544. * Removed @itemcheck as it was totally pointless. [Skotlex]
  3545. * Corrected states killer/killable being easily dispellable. [Skotlex]
  3546. * Fixed the totally wrong text messages being used for @killer/@killable
  3547. related atcommands, added appropiate entries to msg_athena [Skotlex]
  3548. * Magic and Misc attacks will now get type "flee" when they do less than 1
  3549. damage, this blocks them from causing additional status effects when they
  3550. are blocked. [Skotlex]
  3551. * Cleaned up a bit the Basilica code, it should now properly end when you
  3552. walk. [Skotlex]
  3553. * Fixed some logs not working when you enabled all logs. [Skotlex]
  3554. * Corrected unmute being a level 60 command by default (should be 80)
  3555. [Skotlex]
  3556. * Corrected the mapif_parse_PartyChangeMap function to correctly update
  3557. level-range when someone logs on/off, fixes being unable to set even-share
  3558. on once it's been broken even when the characters out of range logoff.
  3559. [Skotlex]
  3560. 2006/08/11
  3561. * Fixed Kagebunshin no Jutsu crashing for dyes > 0; though this solution
  3562. might seem hackish (changing clothes colour to 0 when it starts while
  3563. storing original colour back in val4, restoring original dye upon
  3564. end), I believe this is the best way there currently is to solve
  3565. the issue. [blackhole89]
  3566. * Fixed Dancers/Bards being able to use normal attacks while performing.
  3567. [Skotlex]
  3568. 2006/08/10
  3569. * Fixed the item group bonus not working. [Skotlex]
  3570. * Fixed songs/dances always being considered overlapped with themselves.
  3571. [Skotlex]
  3572. * Added some additional song/dance overlap code that should correctly
  3573. change the effect of songs/dances when they overlap. [Skotlex]
  3574. * Added a check so that the status-change packet is always send to self
  3575. when the inflicted char is a player disguised. [Skotlex]
  3576. * Code cleanup on homunc, they stay in memory until player disconnect or
  3577. homunc destruction [Toms]
  3578. * Corrected Advanced Jobs HP bonus from 30% -> 25% [Skotlex]
  3579. * Hopefully fixed family-party-even-share not breaking when a member logs
  3580. out. [Skotlex]
  3581. * Should have fixed the login-sql crash when passed user-name's length is
  3582. beyond the limit. [Skotlex]
  3583. * Changed setting attack_attr_none to affect all neutral-element attacks.
  3584. Basicly, this setting is now used to determine who can hit for full damage
  3585. always when using neutral-attacks (defaults to non-players) [Skotlex]
  3586. * Fixed two instances in the login-sql server where the ip in the log-login
  3587. table was being stored backwards. [Skotlex]
  3588. * Now when a skill's range is 0 and the skill is NOT casted on self, it
  3589. will take the basic weapon's range (without Vulture/Snake Eye bonus).
  3590. [Skotlex]
  3591. * Now when a duration is not specified, sc_start/sc_start2/sc_start4 will
  3592. try to guess the duration by extracting it from the skill_db (it uses
  3593. skill_get_time on whatever skill is associated to the status-change using
  3594. val1 as skill-level) [Skotlex]
  3595. * Some cleanups on trade_tradeaccept to prevent packets being resent when
  3596. they shouldn't. [Skotlex]
  3597. * Fixed syntax error in 'guild' create table statement [Toms]
  3598. 2006/08/09
  3599. * Fixed Asura not wasting all SP away when it fails on cast-end. [Skotlex]
  3600. * Fixed homunc skill up bug [Toms]
  3601. * Adjusted some the dance/song/encore code so that the source of an
  3602. ensemble will always get checked, so that walking out of an ensemble skill
  3603. should make it end now. However, it's likely this is not completely solved
  3604. yet and will require further tweaking. [Skotlex]
  3605. * Added crash protection to the mob_db txt reading when the mob_db file has
  3606. lines with insufficient number of columns. [Skotlex]
  3607. * Moved the class-change code from battle_calc_weapon_attack to
  3608. skill_additional_effect. Alchemist summons now also have a chance of
  3609. triggering polymorphing. [Skotlex]
  3610. * Removed the code which was auto-setting attacks that do no damage to type
  3611. FLEE, since that was disabling status-effects which should incur even when
  3612. the damage was blocked. [Skotlex]
  3613. * Trade requests will now fail when either character is unable to act
  3614. (character in storage, vending, interacting with an npc, petrified, etc)
  3615. [Skotlex]
  3616. * Heard skotlex voice, changed all msg_table[] into msg_txt() in atcommand.c [Toms]
  3617. 2006/08/08
  3618. * Fixed the char-server not invoking the party_calc_state function when the
  3619. third party-member is added to a party, hence failing to check for families
  3620. and disabling even share from them unless all three relog first (state is
  3621. correctly calculated when party is first loaded). [Skotlex]
  3622. * Crash-protections in the mail-checking function. [Skotlex]
  3623. * Some additional parenthesis on equipment check in pc_equipitem, seems to
  3624. have fixed the mid/lower headgear-sprites not showing up. [Skotlex]
  3625. * Added back missing state set to prevent Ankle-Snare from being retrieved
  3626. after the target dies. [Skotlex]
  3627. * Fixed compilation warning [Toms]
  3628. * Added a check to handle Spider Web as a targetted skill. If there's more
  3629. than one character on the targetted cell, a different one may get trapped,
  3630. but it will mostly do as it is now. [Skotlex]
  3631. * Added check to Asura so that it will move you to the target when it fails
  3632. ONLY when you can cast the skill on the target (not stunned, asleep, target
  3633. not hidden, etc) [Skotlex]
  3634. * Changed the map_freeblock_unlock code so that when there's an "already
  3635. free'd pointer" error, the memory manager will print out the invoking
  3636. function rather than map_freeblock_unlock, this should help fix it up next
  3637. time it happens and is reported. [Skotlex]
  3638. * Casting Kaensin will clear out Suiton and viceversa now. [Skotlex]
  3639. * Fixed drop-rates (@whodrops) getting duplicates when you use @reloadmobdb
  3640. [Skotlex]
  3641. * Fixed unjailing not sending characters to Prontera. [Skotlex]
  3642. * Fixed yet again AS_SPLASHER doing full damage on all characters. Now you
  3643. can use the NK split damage value in the skill_db if you want damage
  3644. divided by the amount of targets rather than by 2. [Skotlex]
  3645. * Fixed crash on the battle_drain functions. [Skotlex]
  3646. * Cleaned up HAMI_CASTLE, HLIF_AVOID, HAMI_DEFENCE so that it's usable by
  3647. other types of objects other than Homunculus. [Skotlex]
  3648. * Cleaned up the Asura Strike code so that the SP/Spheres/States is not
  3649. consumed when the skill fails due to Fog of Wall. [Skotlex]
  3650. * When a negative delay for a skill is specified, this delay is now added
  3651. on top of the character's amotion rather than adelay [Skotlex]
  3652. * Modified main.sql to make the guild table allow NULL on the emblem data.
  3653. [Skotlex]
  3654. * Added file conf-tmpl/Changelog.txt to log config changes. [Skotlex]
  3655. 2006/08/07
  3656. * Fixed the login-sql server replying to the change-sex packet with the
  3657. wrong gender, causing the char-server to screw-up job-change updates.
  3658. [Skotlex]
  3659. * Cleaned up the apparent mess that is pc_skill. Hopefully it SHOULD work as
  3660. described on the docs now, this should also fix adopting not correctly
  3661. giving the family-related skills. The flag value of skill should be: 0 to
  3662. set the skill (if skill level is 0, this removes a learned skill), 1 grants
  3663. the skill as an item bonus which is temporary, and 2 will add a skill bonus
  3664. like 1, except the skill level adds up to whatever level already known of
  3665. that skill. [Skotlex]
  3666. * Fixed EQP_WEAPON related code messing up with both weapon AND shield.
  3667. [Skotlex]
  3668. * Cleaned up the Asura code so that when the skill fails your
  3669. SP/Spheres/Fury are all taken away always, as well as moving you next to
  3670. the target (as long as the target still exists within a reachable path from
  3671. your position) [Skotlex]
  3672. * SC_GUILDAURA is now removed on logout. [Skotlex]
  3673. * Fixed Venom Splasher doing half-damage instead of full-damage to the
  3674. "exploding" character. [Skotlex]
  3675. * Hopefully fixed the party_even_share cast-overflow bug as reported by
  3676. Adobe. [Skotlex]
  3677. * Standarized the autosave interval setting to be always in seconds
  3678. regardless of type. [Skotlex]
  3679. * Moved the "bosses can't be knockback" logic from battle_calc_* functions
  3680. and placed it on skill_blown. [Skotlex]
  3681. * Some parenthesis cleanup before invoking battle_calc_base_damage, could
  3682. be fixing the current issue with arrow attacks not adding the arrow damage.
  3683. [Skotlex]
  3684. * Fixed the map_search_freecell error which was making mobs fail to
  3685. respawn. [Skotlex]
  3686. * Added in Lupus's suggestion of not making multi-slot headgears set all
  3687. slot view-ids, which supposedly causes the client to re-draw the headgear
  3688. multiple times on characters. [Skotlex]
  3689. * Fixed HT_BLITZBEAT hitting neutral characters when it auto-triggers.
  3690. [Skotlex]
  3691. * Simplified the Tatami Gaeshi code. [Skotlex]
  3692. * Fixed AS_SPLASHER doing full damage on everyone except targetted char
  3693. instead of the other way around. [Skotlex]
  3694. * Fixed KAENSIN clearing out SUITON cells and viceversa. [Skotlex]
  3695. * The spawn area is now seen as range rather than absolute for mob spawn
  3696. lines. This means that x,y,10,10 will spawn the mob on a 21x21 grid around
  3697. the given x,y point. [Skotlex]
  3698. * Some clean up of the mob-spawn code. Now you can specify negative areas,
  3699. so that a spawn location such as 100,150,0,-1 will spawn a mob always on
  3700. x=100, but any Y value of the current map. [Skotlex]
  3701. * Reflected damage will now also have a chance of draining hp/sp. [Skotlex]
  3702. * Adjusted the order in which option/sc change packets are sent to match
  3703. Aegis's [Skotlex]
  3704. * Added script command getpartyleader through which you can retrieve
  3705. various information of a party's leader. See doc/script_commands.txt for
  3706. further information. [Skotlex]
  3707. * mpeg's Ninja work [Vicious]
  3708. * Adjusted Battle_check_target so that alchemist summoned mobs are
  3709. targetted by everyone as long as 1. The top-level master is a player and 2.
  3710. the actual attacker is not a mob-type. [Skotlex]
  3711. * Added config force_random_spawn which overrides the spawn-files defined
  3712. coordinates to make all mobs always spawn randomly on the map. [Skotlex]
  3713. * SC_SPEEDUP0 is no longer dispellable by SA_DISPEL [Skotlex]
  3714. 2006/08/06
  3715. * Updated item_db.sql & mob_db.sql to latest. [Toms]
  3716. * Little fixes on homunc (hp/sp are now saved and init stats changed) [Toms]
  3717. 2006/08/04
  3718. * Added a commented piece of code at the end of clif_parse_LoadEndAck which
  3719. will update your direction to wherever you were facing before warping.
  3720. Should this be the default? Nearby people DO see you facing on the same
  3721. direction before warping, it's only your client that will always see you
  3722. facing north on spawn (the spawn packet does contain direction
  3723. information). [Skotlex]
  3724. * Updated @mobinfo to display slots in the drop information. [Skotlex]
  3725. * Fixed flag.elefix not being respected in battle_calc_misc_damage.
  3726. [Skotlex]
  3727. * Some code cleanups in battle_calc_damage. [Skotlex]
  3728. * Modified bAddItemHealRate so it can receive both item-id and item-group
  3729. values (since the first item-id is +500, there's no risk of mixing them
  3730. up). [Skotlex]
  3731. * Removed settings enemy_critical_rate, homun_critical_rate. Added settings
  3732. enable_critical (defaults to specify only players), mob_critical_rate and
  3733. critical_rate. The last applies to all non-mobs and non-players
  3734. (battle/battle.conf) [Skotlex]
  3735. * Removed settings mob_npc_warp, mob_warpportal. Replaced with setting
  3736. mob_warp which specifies which types of warp can a mob step into
  3737. (battle/monster.conf) [Skotlex]
  3738. * Enabled Mastery damage on Soul Breaker again, moved adv katar mastery out
  3739. of the mastery function so that it may apply to all skills except Soul
  3740. Breaker. [Skotlex]
  3741. * Changed name of the setting log_pick to log_filter since that's what it
  3742. does now. [Skotlex]
  3743. * Modified enable_logs so that instead of a 0/1 setting, you can specify
  3744. which kind of events to log (so you can use a combination), see log_athena
  3745. for the bitmask configuration. [Skotlex]
  3746. * Cleaned a bit the contents of log_athena.conf
  3747. * Hide/Chasewalk will again stop screaming skill name. [Skotlex]
  3748. * Soul Breaker will no longer receive Mastery damage. [Skotlex]
  3749. * Fixed warning:'type' might be used uninitialized in this function [Toms]
  3750. 2006/08/03
  3751. * Added a check to skip the experience share of characters who are dead or
  3752. on another map. [Skotlex]
  3753. * Reverted the previous change, chasewalk has no icon, only the str-bonus
  3754. has that fist icon now. [Skotlex]
  3755. * Allowed chase-walk to display a skill animation when using it. [Skotlex]
  3756. * Readjusted the Chasewalk icon to be as it should be. [Skotlex]
  3757. * GS_DESPERADO is now a short-range attack skill. [Skotlex]
  3758. * Changed the Battle-Orders icon to be the Strength Up icon (for
  3759. Chasewalk's str bonus). [Skotlex]
  3760. * Fixed using the right-hand weapon's size modifiers regardless of which
  3761. weapon's damage was being calculated in regards to. [Skotlex]
  3762. * Simplified the ignore-size check by making the Weapon Perfection check be
  3763. done when specifying the flag, also moved the size-fix property of riding
  3764. spear-knights to status_calc_pc. [Skotlex]
  3765. * Changed SI_CHASEWALK value to 119 as concluded by LoneWolf [Skotlex]
  3766. * Corrected clif.c sending the raw mdef2 value to the client instead of
  3767. first substracting the "secret vit/2" bonus from it. [Skotlex]
  3768. * Added a damage cap to CR_ACIDDEMONSTRATION of INT_MAX/2 to prevent
  3769. overflows. It is not capped to INT_MAX because damage increasing skills
  3770. would cause it to still overflow afterwards. [Skotlex]
  3771. * Fixed NPC_CRITICALSLASH not being considered as a Critical hit by the
  3772. code. [Skotlex]
  3773. * Added RUDE_ATTACKED_COUNT so you can easily adjust how many rude-attacks
  3774. should happen before a mob uses the rude-attacked skill. Value has been set
  3775. to 2 for now. [Skotlex]
  3776. * Now when a mob changes target (to someone they can hit) their
  3777. rude-attacked count won't be reset, but instead will be reduced by one.
  3778. [Skotlex]
  3779. * SC_SPEEDUP0 can now stack with the other speed raising buffs. [Skotlex]
  3780. * Some adjustments so that the last-skill-used will be correctly cleared
  3781. when your combo-time ends. [Skotlex]
  3782. * Fix a bug in atcommand_charspeed [Toms]
  3783. * Fixed a logic error preventing from cooking anything [DracoRPG]
  3784. * Cleaned up the last NJ update code. [Skotlex]
  3785. * Added @ command `charspeed` [Skotlex]
  3786. * Fixed @jailfor using MAP_PRONTERA as jail instead of MAP_JAIL [Skotlex]
  3787. * Removed case for GS_SPREADATTACK on damage packets to see if the skill
  3788. displays correctly now. [Skotlex]
  3789. * Corrected Deluge/Volcano/V. Gale overlaps so that the placing tiles are
  3790. removed, NOT the ones who were already placed. [Skotlex]
  3791. * Made SC_SPEEDUP0 and SC_SPEEDUP1 use different icon IDs, to fix
  3792. icon-confusion when both are enabled at a time. [Skotlex]
  3793. * Mob rude-attacked count is not reset now on picking a new char (gotta
  3794. investigate this further) [Skotlex]
  3795. * Changed atoi to strtoul for guild-experience's field [Toms]
  3796. * Fixed a bug in int_storage.c, temp array doesn't have the good size [Toms]
  3797. 2006/08/02
  3798. * Modified yet again SC_SILENCE after iRO tests from Entwined on IRC.
  3799. Silence now ONLY blocks skills from being used, it will not stop on-going
  3800. casts. [Skotlex]
  3801. * Updated status_cast_cancel to also include silence (so the cast bar is
  3802. cancelled if you are silenced during it) [Skotlex]
  3803. * Updated the way SC_SILENCE works. From what I remember (from previous
  3804. forum discussions) it: 1- Always blocks skills from being used. 2- Will
  3805. only block a skill when the cast-bar ends IF the skill is targetted. If
  3806. anyone wants to debate to get this changed, make an appropiate forum topic
  3807. in the svn development area to discuss. [Skotlex]
  3808. * Added a check in the walking code when triggering skills.
  3809. NPC_SELFDESTRUCTION will no longer cancel walking, it will instead resend
  3810. the walk packet, this effectively causes the mob to start walking
  3811. (clientside) while the cast-bar is showing. [Skotlex]
  3812. * Fixed a logic error on battle_get_master which was causing infinite
  3813. loops.. [Skotlex]
  3814. * Fixed homunculus error message [Toms]
  3815. * Rewrote pc_payzeny to not use doubles, it may more accurately prevent
  3816. charging a player more zeny than they can withhold. [Skotlex]
  3817. * Fixed failing to create Deadly Poison Bottles damaging 50% of your max
  3818. life instead of 25% [Skotlex]
  3819. * Added the missing status-change flags to SC_FREEZE to signal it should
  3820. modify def and magic def [Skotlex]
  3821. * Little add on NJ_HUUMA [Toms]
  3822. * Merged Mpeg's work on Ninja skills [Toms]
  3823. * Fixed Martyr's Reckoning having a cap damage of 32k. [Skotlex]
  3824. * Now you can teleport in Thanatos Boss room, but you can't respawn there [Playtester]
  3825. * Fixed Defender Raising Walk speed instead of diminishing it. [Skotlex]
  3826. * Added a check on status-change load to prevent loading speed-affecting
  3827. status when their speed adjustment is 0 (prevents division by zero)
  3828. [Skotlex]
  3829. * Code cleanup & optimization on guild part of char-server [Toms]
  3830. * Fixed script code data not being free'd if a player quits in the middle
  3831. of a script. [Skotlex]
  3832. * Modified run_script so that when there are leaks, it will report the
  3833. place where run_script was called from as source rather than the inner code
  3834. of run_script (for debugging purposes) [Skotlex]
  3835. * Made recursive master check the default (otherwise it messes skill -> pet
  3836. -> player kind of herarchies) and cleaned up some the battle_get_master
  3837. code to prevent infinite loops in the weird case someone specifies that
  3838. their master is itself. [Skotlex]
  3839. * Recoded the GuildAura code to use val3 & val4, allowing much greater stat
  3840. bonuses (in case someone wants to get Guild Skill level 20 or something
  3841. crazy like that) [Skotlex]
  3842. * Updated battle_check_target so that all alchemist summoned mobs can be
  3843. target by everyone. [Skotlex]
  3844. * Cleaned up skill_check_condition_mob_master_sub, it will now count both
  3845. total number of summoned mobs and amount that belong to the same type.
  3846. [Skotlex]
  3847. * Corrected AM_CANNIBALIZE so it will fail if you already have plants of
  3848. another type out. [Skotlex]
  3849. * Using NPC_SELFDESTRUCTION no longer will make the caster stop walking.
  3850. [Skotlex]
  3851. * Removed SI_GUILDAURA, and replaced it with SI_LANDENDOW, now
  3852. Volcano/Deluge/V. Gale will get that funky icon instead. [Skotlex]
  3853. * Changed clif_hominfo to receive both sd and hd as parameters
  3854. * Some redundancy cleaning in mercenary.c [Skotlex]
  3855. * Moved updating of sd->mercenary.hp from merc_damage to pc_makesavestatus.
  3856. [Skotlex]
  3857. 2006/08/01
  3858. * Miscellanous fixes which make the Marine Sphere self destruction work as
  3859. best as I can. It only has one flaw: It self-destructs instantly after
  3860. walking because if I make it use self-destruction with a cast-bar,
  3861. client-side the object stops moving inmediately... [Skotlex]
  3862. * Modified unit_walktoxy and NPC_RUN to enable running even when the caster
  3863. does not has the MD_CANMOVE bit on. [Skotlex]
  3864. * PF_MINDBREAKER will now silently fail if you try to use it on someone who
  3865. already has the status active. [Skotlex]
  3866. * Cleaned up yet again skill_landprotector, now new cells of
  3867. Deluge/Volcano/V.Gale will delete previous cells when they are recasted on
  3868. top of each other. [Skotlex]
  3869. * Summoned Marine Spheres no longer get the MD_CANMOVE bit. [Skotlex]
  3870. * Cleaned up some more the SC_JAILED code [Skotlex]
  3871. * merged in atcommands jailfor, jailtime, charjailtime. Thanks to Meruru
  3872. and Coltaro for the code. [Skotlex]
  3873. * Cleaned the code of atcommands jail and unjail [Skotlex]
  3874. * Be warned that the code MAY contain bugs as I adjusted it to save the
  3875. character's position before jailing, allowing the automatic unjailing to
  3876. warp you back to the exact spot you were at before being jailed. [Skotlex]
  3877. * Should have fixed the cooking sets not displaying all cooking available
  3878. items. [Skotlex]
  3879. * Figured out and fixed the issue with Volcano/Deluge/Violent Gale not
  3880. really working. Thanks to Mpeg for noting it out. [Skotlex]
  3881. * Modified Self Destruction, so that Marine Spheres in non-versus maps will
  3882. hurt only enemies, while in all other situations this skill will hurt
  3883. everyone around them. [Skotlex]
  3884. * Expanded setting debuff_on_logout so that &1 removes negative buffs and
  3885. &2 removes positive buffs. [Skotlex]
  3886. * Food status boosts will no longer end on death, but they will end when
  3887. you respawn or logout. [Skotlex]
  3888. * Added battle config file status.conf, moved some settings from skill.conf
  3889. and battle.conf to it since they are entirely Status-Change related.
  3890. [Skotlex]
  3891. * Added the missing lines to enable script command "kickwaitingroomall"
  3892. [Skotlex]
  3893. * Magic Rod's can-act delay will no longer be applied when you absorb a
  3894. spell. [Skotlex]
  3895. * Fixed Don't Forget Me increasing speed instead of decreasing it. [Skotlex]
  3896. * Modified setlabel so that the script engine barks when you are trying to
  3897. use the same label name as a constant or variable name. [Skotlex]
  3898. 2006/07/31
  3899. * Fixed the subnet 0 mask being reset to 0 when someone goes up on the fame
  3900. rankings. [Skotlex]
  3901. * Updated Poison React chance to counter and number of counters as per
  3902. skill description updates. [Skotlex]
  3903. * Fixed Sharpshooting being counted as a magic attack, and hence, using
  3904. your MATK as base damage. [Skotlex]
  3905. * Fixed NPC_STOP id value in skill_cast_db [Skotlex]
  3906. * Bladestop will no longer stop when you push either of the characters
  3907. around. [Skotlex]
  3908. * Fixed Enchant Poison having a near 100% chance of poisoning target on
  3909. attack. [Skotlex]
  3910. * Little fix on duel [Toms]
  3911. * Added possibility to restrict duel usage to same map [Toms]
  3912. * Merged mpeg's fix on ninja skills [Toms]
  3913. * Corrected a status_get_race call which should be status_get_race2 in misc
  3914. attacks. [Skotlex]
  3915. * Moved the Devotion code to the top of the SC list in status_damage,
  3916. meaning that now stuff like being asleep or confused won't end if you are
  3917. hit, but the damage is absorbed by devotion. [Skotlex]
  3918. * Added the Soul Link of Rogue speed bonus to Chase-Walk. Since there's no
  3919. information of how much the bonus should be, it currently is a conservative
  3920. 10%. [Skotlex]
  3921. * Fixed a possible crash in the main script engine when restoring previous
  3922. script. [Skotlex]
  3923. * Fixed sleep.tick not being set back to 0 before resuming execution, which
  3924. leads to scripts that are continously executed even when they already ended
  3925. (they do nothing but waste resources) [Skotlex]
  3926. * Fixed a pair of free -> aFree used on stacks, which would lead to memory
  3927. manager reporting leaks where there aren't. [Skotlex]
  3928. * Removed incorrect "Waterball range+1 when standing on suiton" feature.
  3929. [Skotlex]
  3930. * Corrected the Speed update code to prevent sending "walk to xy" packets
  3931. twice when the affected character is a player. [Skotlex]
  3932. * Expanded mob can't move warning to print out where this mob was stuck at
  3933. (map, x,y) [Skotlex]
  3934. * Fixed segmentation fault in status_change_end, vd wasn't initialized [Toms]
  3935. 2006/07/30
  3936. * NPC_INVISIBLE will now use Cloaking of a level +9 of the used skill
  3937. level, so that at level 1 they can attack, use skills and receive no
  3938. walking penalty. [Skotlex]
  3939. * Mob casted Sanctuary will no longer always heal it's targets regardless
  3940. of element/race [Skotlex]
  3941. * Status change packets will now use as criteria for sending the actual
  3942. view_class instead of player/not-player. This will fix status-changes
  3943. displaying improperly on clones, and also possible crashes with disguised
  3944. players. [Skotlex]
  3945. * Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE [Toms]
  3946. * Added bNoMiscDamage setting so you can specify misc-damage blocking from
  3947. skills. Modified battle_calc_damage so that even Pressure and similar
  3948. skills will be affected by this setting. [Skotlex]
  3949. * GS skill updates/fixes [Vicious]
  3950. * Force all users offline in sql when char-server starts [Toms]
  3951. 2006/07/29
  3952. * Removed ugly struct cast in login.c [Toms]
  3953. * New version of buildin_query_sql which accept more than one column and
  3954. can return the number of rows. See script_commands.txt for more details. [Toms]
  3955. * Fixed nullpo in merc_hom_skillup [Toms]
  3956. * Added a return value to buildin_rid2name if rid is invalid [Toms]
  3957. * Made the SQL ping interval default to 7 hours. [Skotlex]
  3958. * Made skill_unitsetting remove the group when no unit-cells were placed
  3959. down. basicly this means that if landprotector blocks all tiles, the group
  3960. will be removed from memory, preventing said group from counting to the
  3961. total number of skills you can set. [Skotlex]
  3962. * Fixed segmentation fault in script engine when calling something which is not a function [Toms]
  3963. * Fixed segmentation fault in script engine when activating DEBUG_RUN flag [Toms]
  3964. 2006/07/28
  3965. * Added Ishizu's code to check ammo type on attack. No more using Grenade
  3966. rounds with Guns. [Skotlex]
  3967. * offensive heal/sanctuary will only happen when the source of the heal is
  3968. a player, mob/pet casted heal will now always heal regardless of target.
  3969. [Skotlex]
  3970. * Shield Chain will now ignore the 'ice-pick' defense piercing bonus.
  3971. [Skotlex]
  3972. * Self destruction will now hit all characters in range, not just enemies.
  3973. [Skotlex]
  3974. * Cleaned up the NJ update code: [Skotlex]
  3975. - Restored code which was removed (stuff like SC_SKA)
  3976. - Fixed possible crashes on some NJ skills if used by non-players.
  3977. - Fixed most NJ magic spells doing more damage than they should.
  3978. - Fixed ZenyNage being able to do more damage than zeny you have.
  3979. - Cleaned up skill setting code for Suiton and Kaensin
  3980. * Some cleaning of battle_drain, Evil Druid card should work now. [Skotlex]
  3981. * Made status_damage allow damaging of objects not on a map, this should
  3982. fix pet-catching making the mob never respawn again. [Skotlex]
  3983. * Casted nothl to (unsigned int) in sprintf functions, IP is 32bits and sql field the same :) [Toms]
  3984. * Fixed "warning: `list' might be used uninitialized in this function" in char/char.c@3032 [Toms]
  3985. * Fixed "uninitialized local variable 'i' used" in skill.c and "warning: suggest explicit braces to avoid ambiguous `else'" in battle.c [Toms]
  3986. * Fixed "warning: long unsigned int format, unsigned int arg" in parse_login (login_sql\login.c) [Toms]
  3987. * Fixed sign warnings in login/login.c [Toms]
  3988. * Fixed "conversion from 'double' to 'int', possible loss of data" [Toms]
  3989. * Fixed "warning: redefinition of [ushort/uint/ulong]" [Toms]
  3990. * Fixed duplicate case value on NJ_SUITON [Toms]
  3991. 2006/07/27
  3992. * Fixed a memory leak when there exists more than one user function with
  3993. the same name, added the appropiate warning when this happens. [Skotlex]
  3994. * Added reporting source file when an npc shops item's price is
  3995. exploitable. [Skotlex]
  3996. * The picklog will now record negative values for items sold to npcs.
  3997. [Skotlex]
  3998. * Added inmediate position and hp-bar update when a character joins a
  3999. party. [Skotlex]
  4000. * Added missing SC information to NPC_CHANGEUNDEAD [Skotlex]
  4001. * Added config setting party_update_interval so you can specify how often
  4002. the party-mate minidots should be updated (defaults to 1 sec). [Skotlex]
  4003. * Removed a bunch of broken comments in skill.c [Skotlex]
  4004. * Synced the script.c file with as much data as possible from jA's:
  4005. [Skotlex]
  4006. - A lot of functions were moved around, a bunch of indentation and
  4007. space-usage changes were done to make it easier to diff against their
  4008. files.
  4009. - Miscellanous addition and corrections were applied.
  4010. - Largest one is likely a restructuring of run_script_main, which hopes to
  4011. solve the memory leaks.
  4012. - script engine now uses the setjmp functions to restore memory state when
  4013. there's an error parsing scripts, which means that script errors won't
  4014. cause the map-server to inmediately bail out anymore.
  4015. - NOTE that the amount of changes is pretty extensive, so DON'T USE THIS on
  4016. a live server. Update only to help test and debug to see if the script
  4017. engine memory leaks are gone.
  4018. * Added a cleanup routine on shutdown to remove all characters from memory
  4019. for whom the save ack has not returned from the char-server yet. [Skotlex]
  4020. * Now when you set the guardian's HP, if the guardian is spawned, it's HP
  4021. will be updated accordingly (and if you set it to 0, the guardian is
  4022. killed) [Skotlex]
  4023. * Added functions status_set_hp/status_set_sp to set hp/sp to a given
  4024. value. Applied usage of these on the Berserk and Soul Change code.
  4025. [Skotlex]
  4026. * Added config setting "party_hp_mode" (battle/party.conf) which determines
  4027. method to use to update party-mate hp bars. Aegis style is to update HP
  4028. bars whenever HP changes, while eAthena style is to update it together with
  4029. the map party dots. Defaults to aegis style. [Skotlex]
  4030. * Fixed packet 0x22a having the manner and opt3 packets in inverted
  4031. offsets. [Skotlex]
  4032. * Readded the check which prevents Cloaking from activating when your
  4033. learned level is less than 3 and you aren't next to a wall. [Skotlex]
  4034. * Some cleanups to the Frenzy/Berserk status change, it should probably
  4035. work correctly now. [Skotlex]
  4036. * Removed a redeclared variable i in the parsing of the fame list (char-sql
  4037. server) which seems to be the cause of the random memory corruptions.
  4038. [Skotlex]
  4039. * Updated item_db.sql to latest. [Toms]
  4040. * Fix homunc & code cleanup [Toms]
  4041. - Timer problems on delete_timer
  4042. - Intimacy problem (overflow & new values)
  4043. - Homunc deleted if intimacy < 0
  4044. - base exp is now given to master
  4045. - Homunc sometimes not saved
  4046. 2006/07/26
  4047. * Fixed a memory leak when reading the item_db txt. [Skotlex]
  4048. * Applied the necessary changes to make @partyoption reflect it's changes
  4049. on the alt+p window. [Skotlex]
  4050. * Modified party_item_share_type config setting so that using 1 disables
  4051. item-sharing from non-mob loot (player dropped items or pet loot) and 2
  4052. enables round-robin instead of random sharing. Using 3 obviously is
  4053. enabling both 1 and 2. [Skotlex]
  4054. * Added battle_get_master which returns the master bl of a given object.
  4055. [Skotlex]
  4056. * Recoded battle_check_target to use battle_get_master, the src/target
  4057. switch has been split into two, so that actual target and master target are
  4058. seperately treated (same for source). [Skotlex]
  4059. * Added support for "sc_end -1" which will clear all status changes. Added
  4060. the constant SC_ALL so you can use in scripts "sc_end SC_ALL;" instead.
  4061. [Skotlex]
  4062. * @pettalk will now fail when muted. [Skotlex]
  4063. * Enabled changing of equipment while stunned/asleep/petrified/etc [Skotlex]
  4064. 2006/07/25
  4065. * Cleaned up run_script_main to properly free previous stack-data when
  4066. running scripts. Note that scripts may still leak memory when run by
  4067. non-players and they don't reach the "END" state, however I am not sure how
  4068. this case should be handled, so it's left as it is for now. [Skotlex]
  4069. * Added a missing ntohl call in the loginlog code. [Skotlex]
  4070. * Added a check when buying from npcs to allow buying of item_avail items.
  4071. [Skotlex]
  4072. * Fixed duel accept invite sending the packet before the duel data is set
  4073. (resulting in a packet that noone receives). Thanks to Toms for finding it
  4074. out. [Skotlex]
  4075. * Fixed a possible crash when you dual-wield and the total damage is 0.
  4076. [Skotlex]
  4077. * Added Toms's perl scripts item_db.pl and mob_db.pl (they are in tools/),
  4078. they convert the txt databases into sql. [Skotlex]
  4079. - Usage: "script" < "input file" > "output file". eg: ./tools/item_db.pl < db/item_db.txt > sql-files/item_db.sql
  4080. * Updated the sql files since now it's quick [Skotlex]
  4081. 2006/07/24
  4082. * Re-updated the mob_db.sql to latest. [Skotlex]
  4083. * Cleaned up the skill_landprotector function to correctly block only magic
  4084. skills from being placed on land protectors. [Skotlex]
  4085. * Corrected itemdb_group so that it will not return the random item givers
  4086. (should give priority to actual item groups, so that the item heal bonuses
  4087. work correctly) [Skotlex]
  4088. * Cleaned up the Mistress Card related code so that the no-gemstone bonus
  4089. reduces item requirements by one rather than totally skip them. [Skotlex]
  4090. * Cleaned up the logs "can log"function to use the IT constants. Also
  4091. corrected the "only log large amounts" setting not working on negative
  4092. values (trades). [Skotlex]
  4093. * Adjusted skill_castfix_sc so that Suffragium will get consumed even on
  4094. instant cast skills, but Memorize won't. [Skotlex]
  4095. * BladeStop will now end when either of the characters is moved (knocked
  4096. out?) around. [Skotlex]
  4097. * Moved the Zeny penalty code from respawn to pc_dead. [Skotlex]
  4098. * Added a check to prevent Deluge/Volcano/Violent Gale from being placed on
  4099. top of each other. Reverted the previous 'fix' where atk was being
  4100. increased based on armor element rather than element of attack. [Skotlex]
  4101. * Removed the noreturn mapflag check from script command warp. [Skotlex]
  4102. * Homuculus cleanup [DracoRPG]
  4103. - Replaced nullpo's in parse functions by silent checks
  4104. - Removed server-side effect for menu option 0 (view status window...
  4105. why does the client send us the packet since we don't care? -_-)
  4106. - Rewrote intimacy underflow checks so they are really effective (no
  4107. need to check if an unsigned is < 0, it won't work... check before!)
  4108. * fixed unban unblocking players as well. [Skotlex]
  4109. * Fixed Volcano/Deluge/Violent Gale increasing damage based on element of
  4110. attack instead of defense element of attacker. [Skotlex]
  4111. * Cleaned up the code of Magic Rod, fixed it not giving SP. [Skotlex]
  4112. * Moved the code of Hermod and Basilica to castend_pos2 so it should work
  4113. now. [Skotlex]
  4114. * Modified the code of Ankle Snare so the status ends on unit's time-limit
  4115. rather than when the snared object moves away. [Skotlex]
  4116. * Re-worded the water check of ST_WATER skills. [Skotlex]
  4117. * Allowed sc-cast reductions to be processed even when cast-time is instant
  4118. (to let suffragium end even on instant-cast skills) [Skotlex]
  4119. 2006/07/23
  4120. * Modified setting skillrange_by_weapon (skill.conf) to be a
  4121. per-object-type setting instead of yes/no. The default now is that
  4122. weapon-based skills will take the attacker's range for non-players.
  4123. [Skotlex]
  4124. * Changed the default of skillrange_by_distance to include homunculus.
  4125. [Skotlex]
  4126. * Fixed buildin_isequip not working correctly with non-cards. [Skotlex]
  4127. 2006/07/22
  4128. * Updated mob_db.sql to latest. [Skotlex]
  4129. * Applied Toms's suggested corrections to homun code. [Skotlex]
  4130. * Corrected Cannibalize/Marine Sphere ignoring the selected summon spot.
  4131. [Skotlex]
  4132. * Fixed looting pets ignoring the item pick-up priority of other players.
  4133. [Skotlex]
  4134. * Should have fixed a signess warning in login txt. [Skotlex]
  4135. 2006/07/21
  4136. * Added blocking of @me when muted or in berserk status. [Skotlex]
  4137. * Corrected the @follow timer not being deleted on logout. [Skotlex]
  4138. * Applied the homunculus code fixes provided by Toms. [Skotlex]
  4139. * battle_check_target will now tag homunculus as invalid target when the
  4140. source is a skill-type object. [Skotlex]
  4141. * Added a check on pc_equipitem so that when the client specifies to equip
  4142. a weapon on the right hand when the left hand is available, the weapon will
  4143. be sent to the left hand instead (when dual-wielding is possible,
  4144. obviously). Same for the left/right accessories. [Skotlex]
  4145. * Added the necessary checks so that Suiton makes Fogwall have double
  4146. duration, and to make water-requiring skills to consume their cells.
  4147. [Skotlex]
  4148. * Corrected the loadmap event description to specify that the mapflag
  4149. required is actually "loadevent", NOT "loadmap"! [Skotlex]
  4150. * Now when the char-txt server does not finds a requested party, it will
  4151. clear out said party id of all characters (will help prevent massive
  4152. spamming/overhead when for some reason the party file needs to be deleted).
  4153. [Skotlex]
  4154. * Combo skills (inf = self, inf2 = no target self) no longer check range if
  4155. you use them while your attack-timer is still active. [Skotlex]
  4156. * Added back a map_freeblock call in skill_delunitgroup which caused a
  4157. memory leak when removed... [Skotlex]
  4158. * Added a check to prevent Blind from ending while standing on a fog of
  4159. wall. [Skotlex]
  4160. * The mob Slave ai will be executed now even when the slave has a target.
  4161. This will allow for "instant" warping to the master when it changes maps or
  4162. teleports. if the slave has a target already, it won't unlock it and chase
  4163. back to the master or anything like that. [Skotlex]
  4164. * Removed a couple of checks that prevents item ids above 20000. However,
  4165. remember that the max id is still ~32k or the client is the one who's gonna
  4166. crash! [Skotlex]
  4167. 2006/07/20
  4168. * Added source reporting when you do an invalid int&str or str&int
  4169. operation on a script. [Skotlex]
  4170. * Fixed the intif party creation packet having the incorrect size sent,
  4171. hence causing the leader's level to be read as garbage (which caused the
  4172. "impossible to even share" bug). [Skotlex]
  4173. * Added pc_check_weapontype to do a proper skill weapon check that takes
  4174. into account dual-wielding. That is, if a skill can be used with
  4175. daggers/axes, you'll be able to use the skill when dual-wielding them.
  4176. [Skotlex]
  4177. * Corrected Cloaking level 1-2 not letting you move across walls. [Skotlex]
  4178. * updated cloaking code so that when you set "enable cloaking without
  4179. walls", the code will consider you as "always next to a wall", thus you get
  4180. the wall-speed bonus always. [Skotlex]
  4181. * Applied the fix to homunculus name saving... [Skotlex]
  4182. * Added battle config settings agi_penalty_target and vit_penalty_target,
  4183. they define which object types will get vit/flee reductions when
  4184. multi-targetted and defaults to only players (battle/battle.conf) [Skotlex]
  4185. * Added the dummy intravision case for the changeoption packet 0x229
  4186. [Skotlex]
  4187. * Corrected Fog of Wall so that all targetted offensive skills (not only
  4188. those who do damage) will fail on cast-end 75% of the time. [Skotlex]
  4189. * corrected @homlevel up and one entry in the homun exp table as reported
  4190. on the forums by Albator. [Skotlex]
  4191. * Added the SQL fix to Homunculus skill learning/saving bug [DracoRPG]
  4192. * Added a status_check_skilluse on skill_attack_area call to prevent splash
  4193. damage skills from hitting hidden/trickdead/etc characters. [Skotlex]
  4194. * Corrected fog of wall to behave as best known currently: [Skotlex]
  4195. - Only takes effect when targetting a character inside it
  4196. - -50hit/-75% damage when using normal-ranged attacks
  4197. - -25% damage from all damage skills
  4198. - 75% chance of all targetted damage skills of failing.
  4199. * Should have fixed @refine applying multiple times to equipment that uses
  4200. multiple equip slots. [Skotlex]
  4201. 2006/07/19
  4202. * Fixed the inf code update breakage which was blocking all offensive
  4203. skills. [Skotlex]
  4204. * Added battle setting homun_critical_rate (defaults to 0) [Skotlex]
  4205. * Removed enemy_str/pet_str/enemy_perfect_flee and replaced them with
  4206. enable_perfect_flee which specifies which objects can have perfect flee and
  4207. enable_baseatk which specifies which objects can have a base attack value
  4208. (both in battle.conf) [Skotlex]
  4209. * Modified the targetted skill logic to enable offensive skills to be
  4210. targetted at party/guild members if the appropiate inf2 value is set.
  4211. [Skotlex]
  4212. * Added checks to make adding items to inventory/cart fail when a char is
  4213. in finalsave state. [Skotlex]
  4214. * Fixed parse_names on irc.c crashing when receiving a null argument.
  4215. [Skotlex]
  4216. * Modified the parsing of the names line, since some servers will send @
  4217. instead of = when separating the information. [Skotlex]
  4218. * Fixed the homun creation sql statement. Why noone else did so before?
  4219. [Skotlex]
  4220. * When enabling/disabling hiding/unhiding an npc, if the npc is a warp, it
  4221. will use clearchar and spawn packets instead of changeoption. Thanks to
  4222. Toms for the fix. [Skotlex]
  4223. * Corrected Trim chars to block 'enter', as explained by the Ultra mage.
  4224. [Skotlex]
  4225. * When the client passes account version 0, the login server will set it to
  4226. 1 now. [Skotlex]
  4227. * Corrected the HP bar scaling when HP is above Short Max. It should
  4228. display fine for any HP value now. [Skotlex]
  4229. * Added a check when the mob's adelay is shorter than the amotion, in which
  4230. case the adelay will be changed to the amotion value. [Skotlex]
  4231. * Some minor mapflag changes. [MasterOfMuppets]
  4232. 2006/07/18
  4233. * Added atcommand @partyoption, lets you alter the party item-distribution
  4234. type on the go. Usage is "@partyoption <pickup share> <item distribution>",
  4235. where both arguments can be 0/1, yes/no, etc. [Skotlex]
  4236. * Updated @changeleader and @partyoption to use msg_Athena entries.
  4237. [Skotlex]
  4238. * Added character 013 (enter) to the list of characters that are always
  4239. removed from new character names. [Skotlex]
  4240. * Fixed a crash when trying to extend TK's infinite combo feature. [Skotlex]
  4241. * Corrected Poison React to counter regardless of distance, and to use the
  4242. skill's 50+5*lv% counter chance (instead of 100%). [Skotlex]
  4243. * Corrected Venom splasher's splash damage [Skotlex]
  4244. * You now can't move/attack/use-skills when using Cloaking of a level less
  4245. than 3 [Skotlex]
  4246. * Fixed compilation of mercenary.c [Skotlex]
  4247. * Corrected Fog of Wall's "targetted spells fail 75% of the time" feature
  4248. by making it behave like GTB, that is, you just get a skill-failed on
  4249. cast-end, no skill-animation at all. [Skotlex]
  4250. * Added a proper check to make aggressive mobs never override homun targets
  4251. regardless of distance. [Skotlex]
  4252. * Removed a bunch of homun-related variables that are not needed at all.
  4253. The alive condition is removed, now the code checks for the hp value to
  4254. know if the homun is alive or not. [Skotlex]
  4255. * Cleaned up a bit the skill-id function, homun skill checks (such as delay
  4256. and skill-lv learned) should be correct now. [Skotlex]
  4257. * Added a proper check to make aggressive mobs never override homun targets
  4258. regardless of distance. [Skotlex]
  4259. * Fixed giving the 100% damage bonus when no-splash-targets are found in
  4260. the blown path to Grandcross instead of Bowling Bash. Bowling Bash damage
  4261. equation becomes then +50*lv% rather than +40*lv% when there's no
  4262. splash-damage (the 50*lv% figure is custom, all we know is that level 10
  4263. does 600% instead of 500% damage). [Skotlex]
  4264. 2006/07/17
  4265. * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
  4266. * The char-server will allow off-line character saves when said char is
  4267. tagged for final-save (this is the scenario when the char-map reconnect).
  4268. [Skotlex]
  4269. * Should have fixed the Cart Termination damage code to be scaled correctly
  4270. when you change the max cart weight. Thanks to The Ultra Mage for the error
  4271. clarification. [Skotlex]
  4272. * Implemented Grandcross weird property where if there's noone on the path
  4273. it'll hit twice for the skill's reported damage, and when there is (or you
  4274. can't knockback the target) it'll do a splash attack that hits twice for
  4275. 500% to all affected targets. [Skotlex]
  4276. * Some cleaning of the combo code. TK Rankers will now get their combo-time
  4277. extended each time they trigger a kick, enabling them to do "unlimited
  4278. combos". [Skotlex]
  4279. * Modified the autosave function to use a sweep across the player db
  4280. instead of across connected clients. This will cause non-connected players
  4281. (like autotraders) to also be saved on a regular interval, may help with
  4282. possible data-loss from said characters on unclean shutdowns. [Skotlex]
  4283. * Removed the code that forces aggressive mobs to go after a Homun instead
  4284. of their master (no reason why there should be such a condition). [Skotlex]
  4285. * Some sign quest map flag updates [MasterOfMuppets]
  4286. * atcommand_follow is now more verbose. [Adam]
  4287. * Manually added int_homun.c to the VS8 char_sql project, *should* work [DracoRPG]
  4288. * Orn's fix to the very critical skill level up bug [DracoRPG]
  4289. * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
  4290. * Added Orn's lil fix on homun [Vicious]
  4291. * Added Homunculus system, enjoy! [orn aka Nylou]
  4292. - WARNING: This currently only works with the SQL version, as the TXT char-server
  4293. has no code for it at the moment. You TXT server won't break, but the char-server
  4294. will complain of an unknown packet if you try to get an Homunculus
  4295. * Updated nomemo mapflags based on info from http://ro.doddlercon.com/images/memo.jpg [Poki#3]
  4296. 2006/07/15
  4297. * Small change in conf/battle/player.conf to say that 199 is max aspd allowed
  4298. (Haplo says that there are many reports of having over 200 is giving errors) [Evera]
  4299. 2006/07/13
  4300. * Kaahi no longer shows the heal effect to everyone. [Skotlex]
  4301. * Eska no will cause defense to change randomly every second. [Skotlex]
  4302. * Tuned up some more NJ_KAENSIN based on Tharis's information. [Skotlex]
  4303. * Corrected NJ_KAENSIN as per description. [Skotlex]
  4304. * Fixed a leaking map_freeblocklock on skill_del_unitgroup. [Skotlex]
  4305. * Changed the default save interval to 5 minutes. Added support for
  4306. specifying fixed save-intervals by using negative values. [Skotlex] EG:
  4307. - Save interval set to 300 (5 minutes): all characters will be saved in
  4308. equal time-slots, so that everyone is saved every 5 minutes regardless of
  4309. number of players online.
  4310. - Save interval set to -1000 (1000 ms): One character will be saved every
  4311. second, regardless of amount of characters online.
  4312. The new fixed-time-slots method is meant for larger servers, so that they
  4313. can control the saving-induced stressed on the char-server.
  4314. * Fixed @storeall and @charstoreall failing when the target character
  4315. already had the storage open. [Skotlex]
  4316. * Reverted temporarily the Cart Termination equation until it can be
  4317. fixed... [Skotlex]
  4318. * Fixed script command "recovery". [Skotlex]
  4319. 2006/07/12
  4320. * Fixed a small typo in my code [Zido]
  4321. * Added negative value in bonus exploit fix for more stat bonuses [Zido]
  4322. * Fixed exploit in pc_bonus there are no checks that check that the value being
  4323. added onto a status don't make it go below zero, which means if you have a mineral
  4324. card and reset stats it reduces your base attack to lower than zero, making it
  4325. go up to 64000. Fixed by adding a check for SP_BASE_ATK, although i recommend
  4326. doing it for other status bonuses also [Zido]
  4327. * Recoded NJ_BAKUENRYU to behave as I understand it best from the
  4328. skill-description (since Haplo told me this skill doesn't really has video
  4329. information or anything...) [Skotlex]
  4330. * Fixed NJ_TATAMIGAESHI to use ground-tiles rather than "for each in path"
  4331. calls. The skill should be working correctly now, except for the fact that
  4332. the correct "unit id" is missing (this is what would give the ground tile
  4333. it's correct display). Temporarily it is using 0xba until the correct value
  4334. is found. [Skotlex]
  4335. * Added back the undead check to turn undead/resurrection to prevent
  4336. damaging non-undead targets, removed it from the battle damage section.
  4337. [Skotlex]
  4338. * Resurrection will now silently fail when used on non-undead + not-dead
  4339. characters. [Skotlex]
  4340. * Poem of bragi/magic String's base delay reduction at level 10 (or above)
  4341. is now 50% instead of 3*lv%. [Skotlex]
  4342. * status_damage will no longer fail when the target is not on a map AND the
  4343. flag is 2 (charge rather than damage). Fixes SP-draining status changes
  4344. ending suddenly when in-between maps. [Skotlex]
  4345. * Fixed the IP value being apparently incorrectly casted before inserting
  4346. into the loginlog table on "connect success" events. [Skotlex]
  4347. * Fixed Cart Termination's damage. [Skotlex]
  4348. * Added the missing check to remove character from memory when logging out
  4349. and using the charsave_method which saves character map-server-side.
  4350. [Skotlex]
  4351. 2006/07/11
  4352. * Fixed inverted check which was preventing you from buying more than 1
  4353. from any stackable item.... [Skotlex]
  4354. * Should have fixed the crash in intif gm message... [Skotlex]
  4355. * Fixed GTB card only working while you had a status-change active.
  4356. [Skotlex]
  4357. * Fixed being unable to compound cards in armor. [Skotlex]
  4358. * Made @monsterignore be an universal ignore. Means you cannot be targetted
  4359. as an enemy by anything. Also added alias "@battleignore" which does the
  4360. same as monsterignore. [Skotlex]
  4361. * Fixed magic power setting your min matk as max-matk. [Skotlex]
  4362. * Modified the packets involved in @fakename in hopes it'll refresh
  4363. correctly on nearby clients now. [Skotlex]
  4364. * Fixed clif_parse not checking for func_parse before sending data to the
  4365. connected clients. This in turn required various code-rewrites in: [Skotlex]
  4366. - duel related messaging functions (added clif targets DUEL/DUEL_WOS).
  4367. - intif whisper to gm function
  4368. - day/night timers
  4369. - Rewrote the parse_console function to stop allocating/deallocating memory
  4370. on every call.
  4371. - Modified chrif_charselectreq to receive the player's ip among the data.
  4372. * Added function clif_disp_message, which is the same as
  4373. clif_disp_onlyself, except you can specify the targets (it sends a
  4374. guild-chat packet) [Skotlex]
  4375. * Fixed the subele bonus (elemental reduction) being applied to the element
  4376. of the attacker instead of the element of the attack. [Skotlex]
  4377. * mob skills now won't trigger on unit_stopwalking calls. [Skotlex]
  4378. * Coded @reset. [Skotlex]
  4379. * Reenabled @changesex [Skotlex]
  4380. * Added function pet_create_egg which handles creating pet eggs correctly
  4381. (when passed item id is indeed a valid petegg). Applied this on @createitem
  4382. and getitem. [Skotlex]
  4383. * Cleaned up code of @item [Skotlex]
  4384. * Cleaned up the itemdb_isequip functions. itemdb_isequip will now return
  4385. if the item is equipable by players, itemdb_isstackable returns if the item
  4386. can be stacked, and itemdb_isidentified returns if the item should drop
  4387. identified. [Skotlex]
  4388. * Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given
  4389. item has "invalid" cards, added define function itemdb_isspecial to
  4390. simplify this check. [Skotlex]
  4391. * Removed itemdb.c considering item ids above 20000 as invalid. [Skotlex]
  4392. * Cleaned up script commands getitem and card-counting related ones.
  4393. [Skotlex]
  4394. * Cleaned up a bit more pc_isequip [Skotlex]
  4395. * Added script function warpportal(x,y,targetmap$,targetx,targety).
  4396. This creates warp portals as in the skill unit as a volatile alternative
  4397. to static warp portals. [blackhole89]
  4398. * Modified the login-sql server to do the ip-ban check only on the
  4399. auth-packets instead of on every packet. [Skotlex]
  4400. 2006/07/10
  4401. * Corrected Warp Portal being unable to warp people who are standing on it
  4402. on the moment it triggers. [Skotlex]
  4403. * Fixed @follow stopping the moment you are warped. [Skotlex]
  4404. * Fixed pc_additem messing with the equip field of the passed item data.
  4405. Fixes the famous "equip stuff on your arrow slot" bug. [Skotlex]
  4406. * Fixed cart-termination crashing the server if you used level 16 of it.
  4407. [Skotlex]
  4408. * Fixed check_connect_login_server check in char-sql server. Fixes
  4409. char-server not reconnecting to the login server. [Skotlex]
  4410. * Login-sql server will no longer change an account's state to "7" when
  4411. banning a player. This should fix being able to use @ban to clear out a
  4412. @blocked player. Players will now be identified as banned only through the
  4413. banned-until timestamp. [Skotlex]
  4414. * Fixed a crash when using Gospel... [Skotlex]
  4415. * The on-place function won't be invoked on setting ground skills if the
  4416. group's tick is greater than the current tick. As Buuyo pointed out, this
  4417. should fix Sanctuary and Gospel taking effect inmediately instead of after
  4418. "x" amount of ms as they should. [Skotlex]
  4419. * Added login-char packet 0x2737. Sets all characters offline (login-server
  4420. side). [Skotlex]
  4421. * Cleaned up char server "set all offline" implementation to remove only
  4422. characters from the map-server from which the packet was invoked. It will
  4423. also now correctly kick/set-character offline from the map-server if they
  4424. are connected. [Skotlex]
  4425. * Cleaned up the char-sql reconnect code. It no longer sets everyone to
  4426. offline. [Skotlex]
  4427. * Removed setting "kick_on_disconnect", servers will no longer kick
  4428. characters out when there's a disconnection. Instead, it'll use the most
  4429. logical approach: Set characters into a "lost" state when there's a
  4430. disconnection, on reconnect, resent the list of online-characters, do a
  4431. sync, and let the difference be characters to be removed. Also, the
  4432. map-server won't release character data until it's saved and the ack
  4433. returns from the char-server to prevent data loss (all this data is resent
  4434. on reconnect for saving anyway). [Skotlex]
  4435. * Added a check in pc_equipitem so that when switching weapons and you have
  4436. the skill_range_by_weapon setting active, the skill info block (which
  4437. includes range) will be resent when the new weapon to equip has a range
  4438. different than the previous one. [Skotlex]
  4439. * One closer inspection, removed that clear in itemdb_reload for a foreach
  4440. call again. And modified itemdb_load to scrap the dummy item entry from the
  4441. item_db and replace it with proper data for the item. [Skotlex]
  4442. * itemdb_reload will clear the itemdb before reloading info instead of only
  4443. clearing the scripts now. [Skotlex]
  4444. * Some cleaning of skill_castend_pos2, fixed Gospel, and a
  4445. map_freeblock_unlock misplacement. [Skotlex]
  4446. * Sense/Estimation will now display the mob info window to all party
  4447. members in the same map. [Skotlex]
  4448. 2006/07/08
  4449. * Fixed the new addeff structure not working well with SC_STONE (because
  4450. SC_STONE is 0, which was by default not handled as a valid value).
  4451. [Skotlex]
  4452. * Added back the TF_MISS walking speed bonus to assassin type classes (how
  4453. did that got lost?) [Skotlex]
  4454. * Fixed mobinfo displaying exp as signed ints rather than unsigned.
  4455. [Skotlex]
  4456. * Added status_check_visibility to check if an object is within range of
  4457. view of another. Nothing more, nothing less. It's used by unit movement to
  4458. check whether you can continue chasing your target or not when the "chase
  4459. target" directive is given. [Skotlex]
  4460. * Fixed the char table having party/guild_id as smallint when they need int
  4461. there. Thanks to hermematon for pointing it out (use svn_ugprade7580.sql)
  4462. [Skotlex]
  4463. * Applied k3dt fixes to pet-hatching, ice-wall check, and wedding skills.
  4464. [Skotlex]
  4465. * Fixed endow skills calling the skill no damage packet twice. [Skotlex]
  4466. * Fixed a crash on warpwaitingpc when the chat-room is empty. [Skotlex]
  4467. 2006/07/07
  4468. * Fixed the Warm Skills [Skotlex]
  4469. * Removed the debug message when a player logs out and is removed from
  4470. memory, it is working fine (tested normal logging off and autotrade). [Skotlex]
  4471. * Corrected the pet-armor field of the pet not being updated on
  4472. equip/unequip of accessories, making them not show up inmediately. [Skotlex]
  4473. * Status_calc_bl will no longer stop you from attacking/walking when the
  4474. mode is changed unless the new mode no longer includes
  4475. "can-attack"/"can-move" respectively. [Skotlex]
  4476. * Should have fixed clif_item_sub to properly store pet egg/armor data.
  4477. There should be no more "random refine levels" bugs related to these.
  4478. [Skotlex]
  4479. * itemdb_exists will now return NULL for item_id 0. [Skotlex]
  4480. * Added a check to free a character from memory when changing map servers.
  4481. [Skotlex]
  4482. * Okay, added a chrif_save_ack packet to the char-server so now the map
  4483. server will know once a character was "final saved", and only then the
  4484. character will be removed from memory. On char-server reconnection, all
  4485. chars that are in final-save state are resent to save (if they are still in
  4486. memory, it's because the ack hasn't gotten here from the char-server). This
  4487. should effectively block all dupe problems due to heavy inter-server lag,
  4488. however as it's untested, it currently prints some debug messages when
  4489. people are saved and then removed from memory. Need testers so this can be
  4490. debugged and merged to stable! [Skotlex]
  4491. * Now, when the login-char connection is cut, the char-server won't set
  4492. everyone offline on reconnect, instead it will send the list of online
  4493. accounts to the login server. [Skotlex]
  4494. * Modified the error on the char-sql server to set chars online when it
  4495. receives a save packet from a character tagged as offline (until it can be
  4496. figured out why this is happening) [Skotlex]
  4497. * Fixed signed/unsigned comparison issues in the char txt/sql server.
  4498. [Skotlex]
  4499. * Fixed the cooking success chances. Thanks to Ishizu Chan. [Skotlex]
  4500. * Added a temporary band-aid to prevent executing the script of non-arrows
  4501. when they are equipped on the arrow-slot (until the actual cause of why
  4502. pc_unequipitem is not working correctly is discovered/fixed) [Skotlex]
  4503. 2006/07/06
  4504. * Modified the party_data structure on the map server to remove some
  4505. redundant data. Added a party_data structure on the char-server to hold a
  4506. more complete set of information about parties. Added to the party_member
  4507. structure the class of each member so that the map server can do the
  4508. appropiate checks even if the character is on another mapserver/offline.
  4509. Due to the format changes in the party structure, txt servers will have to
  4510. wipe their party file... (sql save format has not been changed) [Skotlex]
  4511. * Added function char_family to check if there's a family state given the
  4512. three character ids, instead of doing individual checks all the time.
  4513. [Skotlex]
  4514. * Rewrote all the item restriction functions so that they will take into
  4515. account slotted card restrictions as well. [Skotlex]
  4516. * Added no_skill_delay setting, when set, affected object types will have
  4517. the minimum skill delay for all skills. Defaults to mobs, since they
  4518. don't have skill delays. [Skotlex]
  4519. * Cleaned up pc_equipitem. When dual wielding or equipping accessories, if
  4520. the client actually specifies one of the two positions, it will be taken
  4521. into account (now, does the client actually does this?) [Skotlex]
  4522. * Fixed GrandCross and similar skills. [Skotlex]
  4523. * FogWall will now also affect the caster. [Skotlex]
  4524. 2006/07/05
  4525. * Updated NJ_KAENSIN by Saycyber21 [Vicious]
  4526. * Updated @refine to take account of MAX_REFINE, thanks to Omega... GM
  4527. Designer. [Skotlex]
  4528. - Also optimized the @refine loop for better performance.
  4529. 2006/07/04
  4530. * Fixed compile issue for NJ_BAKUENRYU, by Saycyber21. [Vicious]
  4531. * Implemented Saycyber21's some NJ work. Untested. :D [Vicious]
  4532. * Implemented cooking chances. Chance of success is 70% - 7*(dish-lv)% +
  4533. 12*(cooking set-lv)%. Exception: When using the legendary cooking set,
  4534. success chance is 100% regardless of dish. [Skotlex]
  4535. * Added battle config setting emergency_recall, specifies behaviour of that
  4536. skill (skill.conf): 0 - Disabled. 1 - can't be used in nowarpto maps. 2 -
  4537. Can be used everywhere. [Skotlex]
  4538. * Removed the NPC/Dance/Song inf2 check of AbraCadabra. whether a skill can
  4539. come out or not is entirely decided by the abra db file now. [Skotlex]
  4540. * Added structure s_addeffect to handle status change additions. Cleaned up
  4541. relevant code. It is now possible to specify ANY status change, not just
  4542. the basic ones. NOTE that the code is proof-read, but untested! [Skotlex]
  4543. * Added support for bonus3 bAddEff/bAddEffWhenHit as follows: [Skotlex]
  4544. bonus3 bAddEff/bAddEffWhenHit, <SC value>, <rate>, <target flag>.
  4545. Target flag is 0: Self. 1: Enemy. 2: Both.
  4546. * Added these descriptions to doc/item_bonus.txt [Skotlex]
  4547. * Added a check when joining a chat to make sure the target object is of
  4548. type BL_CHAT. [Skotlex]
  4549. 2006/07/03
  4550. * Cleared up the bAutoSpellWhenHit description in doc/item_bonus.txt
  4551. [Skotelx]
  4552. * Fixed Phantasmic Arrow and Magical Bullet not being correctly tagged as a
  4553. ranged arrow-type attack. [Skotlex]
  4554. * Updated help.txt and help2.txt, thanks to Inuyasha for providing the
  4555. updated files. [Skotlex]
  4556. * Char-server SQL won't perform the reconnect cleanup routines when
  4557. kick_on_disconnect is disabled. [Skotlex]
  4558. * Renamed summons_inherit_effects to summons_trigger_autospells as the
  4559. setting now only makes the attacks of the slaves trigger the autospells of
  4560. the master (as it should be). [Skotlex]
  4561. * Corrected code capping no_spawn_on_player to 50 when the max should be
  4562. 100. [Skotlex]
  4563. * Warmth will dispel when warping now (or else the effect is left on the
  4564. ground) [Skotlex]
  4565. * Fixed reading of the refine_db not working right when MAX_REFINE is
  4566. increased from 10. [Skotlex]
  4567. * Some more cleaning to the implementation of Abracadabra [Skotlex]
  4568. * Fixed a compile warning in login sql/txt [Skotlex]
  4569. * Fixed pc_makesavestatus not setting your logout position. [Skotlex]
  4570. * Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
  4571. [Skotlex]
  4572. * Added the missing +100% damage modifier of Enchant Deadly Poison.
  4573. [Skotlex]
  4574. * Fixed SkillStatusChangeTable not working correctly for Homun/Guild
  4575. skills. [Skotlex]
  4576. 2006/06/30
  4577. * Fixed a typo in msg_athena.conf, "This item cannot be drop" -> "This item cannot be dropped" [MasterOfMuppets]
  4578. * Added a check to prevent equipped items from being traded. [Skotlex]
  4579. * Added UF_SONG (0x400) to differentiate songs from dances. [Skotlex]
  4580. * Added preliminar support for making a Song+Dance turn into BA_DISSONANCE
  4581. cells. Beware of potential bugs as it's untested. [Skotlex]
  4582. * Added mapflag "nochat" to prevent chatting rooms from being created.
  4583. [Skotlex]
  4584. * Corrected some of the sleep checks when the char id does not matches with
  4585. the char-id expected by the script engine. [Skotlex]
  4586. * Cleanup in itemheal related code, fixed the item heal group bonus not
  4587. working on Groups beyond 7. [Skotlex]
  4588. * Fixed pet's loot not being moved to your inventory on logout. [Skotlex]
  4589. 2006/06/29
  4590. * Made the map server send list of characters online to the char-server on
  4591. reconnection regardless of "kick_on_disconnect" setting, as otherwise, a
  4592. temporary disconnection would make the char-server tag all characters
  4593. offline and refuse to save them afterwards. [Skotlex]
  4594. * Fixed guild storage being "eternally in use" if you quit/logout before
  4595. closing it. [Skotlex]
  4596. * Ending SC_CLOAK/SC_HIDE/SC_CHASEWALK will now trigger ontouch npcs.
  4597. [Skotlex]
  4598. * [Fixed]
  4599. - Scripting system screwing up script position after mixing timers with menus.
  4600. - NPC attached AI mobs display as alive when dead.
  4601. - View data not updating after buildin_unitdeadsit.
  4602. [Improved]
  4603. - NPCE_LOADMAP to execute after all (area) objects are sent to the player.
  4604. - Simplified scripting system. sd will now use pointer to the script state itself.
  4605. [Lance]
  4606. 2006/06/28
  4607. * changed:
  4608. dynamic_pass_failure_ban_how_many:from 3 to 7
  4609. dynamic_pass_failure_ban_how_long:from 60 to 5
  4610. as in official servers. [Musashiden]
  4611. * Added a check in script command "set_option" so that invoking
  4612. "set_option(0)" removes Cart/Peco/Falcon, as expected by scripts. [Skotlex]
  4613. * Added trade-range check on trade start. [Skotlex]
  4614. * Added inf2 4096 (INF2_ALLOW_ENEMY) which is to be used in conjunction
  4615. with INF2_PARTY_ONLY/INF2_GUILD_ONLY when said skill should ALSO be allowed
  4616. to be used on enemies. [Skotlex]
  4617. * Cleaned up a bit the code for @item [Skotlex]
  4618. * Fixed character/storage being sent to be saved TWICE when you logged out
  4619. while the storage is opened. [Skotlex]
  4620. * Added save_settings map config. Specifies after which events do
  4621. characters get saved (defaults to all): 1 - Trade successful, 2 - Vending
  4622. transaction, 4 - Closing storage/guild storage, 8 - hatching a pet.
  4623. [Skotlex]
  4624. * Changed the mob drop rate adjust function to receive a signed int
  4625. argument. Probably will fix those drops with 0% becoming 100% [Skotlex]
  4626. * Corrected Musical Strike having a different damage equation from Throw
  4627. Arrow. [Skotlex]
  4628. * Added state rewarp to players. It gets set when a pc_setpos call is
  4629. triggered while the player is changing maps so that when the player finish
  4630. loading the map, it is inmediately rewarped to where it has been
  4631. rewarped/recalled to. [Skotlex]
  4632. 2006/06/27
  4633. * Map server will now resent the whole list of online characters to
  4634. char-server on reconnect when the kick_on_disconnect setting is active.
  4635. [Skotlex]
  4636. * Cleaned up and optimized the IP sync code. New login_athena config
  4637. setting sync_ip_interval specifies how often to sync the ip. The default is
  4638. 0 (disabled). [Skotlex]
  4639. * Added mapflag "loadevent", now load-map script events will ONLY trigger
  4640. on maps with this mapflag on, rather than every map. [Skotlex]
  4641. * High Jump can now be used in all versus maps. [Skotlex]
  4642. * Added Kaite's opt3 value, taken from jA [Skotlex]
  4643. * Added state dirty == 2 to storages. Signals when a storage was sent for
  4644. final saving. Said storage is removed from memory after the ack from the
  4645. char-server, and they are sent to save if the map/char servers reconnect
  4646. before the ack arrives. In short: they are guaranteed to be saved after a
  4647. char logs out. [Skotlex]
  4648. * Put pay_arche.gat in the "no experience lost" mapflag file. [MasterOfMuppets]
  4649. 2006/06/26
  4650. * Corrected the element of hunter traps. [Skotlex]
  4651. * Deadly Poison now also reduces def2 by 25% [Skotlex]
  4652. * Cleaned up a bit skill_moonlit, Moonlit Petals should work correctly now.
  4653. [Skotlex]
  4654. * Fixed @mi displaying always 0 instead of the mob's class. [Skotlex]
  4655. * Rough implementation of Ground Drift according to description and jA
  4656. info. [Skotlex]
  4657. * Implemented Tatami Gaeshi using skill description and jA implementation
  4658. for reference. [Skotlex]
  4659. * Merged Mitternacht's max_heal/max_heal_lv config settings. [Skotlex]
  4660. * Removed support of packet 0xc3 on the new packet versions. Thanks to
  4661. Meruru for pointing out they aren't being used anymore. [Skotlex]
  4662. * Autospells will now again check for the skill's nk value, so that skills
  4663. tagged "nodamage" skills will not trigger autospells. [Skotlex]
  4664. * Corrected clif_item_sub so that pet eggs will correctly be sent as
  4665. equipment (fixes them showing up "broken" and with random refine levels)
  4666. [Skotlex]
  4667. * [Added]:
  4668. - buildin_unitkill just for kicks. [Lance]
  4669. 2006/06/23
  4670. * [Optimized]:
  4671. - Setting of variables with defined scope in some frequently executed script
  4672. events.
  4673. [Added]:
  4674. - Missing script_require_trigger flags for some power hungry events.
  4675. * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
  4676. * Modified pc_setoption so that it will correctly update sprite AND clothes
  4677. color when mounting/unmounting changing into/from xmas/wedding sprites.
  4678. [Skotlex]
  4679. * Allowed itemdb_exists to return the dummy item. Enables "invalid" items
  4680. to be sold, traded, dropped, etc. [Skotlex]
  4681. * Corrected ASC_BREAKER. Int-based damage is applied after attribute fixes
  4682. and before card reductions. The skill now completely disregards left
  4683. hand weapon. [Skotlex]
  4684. * Standarized PF_MEMORIZE to be 50% cast time on all skills (instead of
  4685. -50% for targetted skills and -66% for ground skills >.>) [Skotlex]
  4686. * Cleared up the comment on what item_check does and how it works.
  4687. [Skotlex]
  4688. * Changed setting for skill_nocast flag 16. It is no longer a "pk-mode map"
  4689. setting, it's now a clone-forbidden skill. That is, skills with the flag 16
  4690. will never be copied by clones. If you use a PK-mode server, use flag 2 now
  4691. to forbid skills from common maps. [Skotlex]
  4692. * Default skills from not being cloned are Magnus Exorcism and Turn Undead.
  4693. * The map search free cell will now use the size of the map # of tries
  4694. before giving up when the spawn area is the whole map. Added a check to
  4695. inmediately give up when the number of spawn retries has reached the max
  4696. specified (no_spawn_onplayer = 100). [Skotlex]
  4697. * Cleaned up a bit the clone code to account for the unit flags
  4698. UF_NOPC/UF_NOMOB when the skill is not ground-based (accounts for self
  4699. skill that causes a ground-tile to be placed, like Dances). [Skotlex]
  4700. * Added pc_bonus_autospell_del, gives support for removing autospell
  4701. effects. When a negative rate is specified, it will decrease the chance of
  4702. casting (eg: You have two different cards with autospell Heal +20% each,
  4703. then do autospell -30. The second card will be cancelled, and the first one
  4704. will become Heal +10%) [Skotlex]
  4705. * npc_timers now will not restore the previous timer data when there's no
  4706. players attached (when it's strictly an npc timer). This should reenable
  4707. the old behaviour of getnpctimer returning the total ellapsed time since
  4708. "startnpctimer" even after the last label has been reached. However, this
  4709. behaviour won't apply to player-attached timers. [Skotlex]
  4710. * [Fixed]:
  4711. - MAPREGSQL overloading SQL table with temperory map registries.
  4712. - Incorrect perfomance calculation for MAPREGSQL loading and saving. [Lance]
  4713. 2006/06/22
  4714. * Guessed and added support for the packets 0x22a (idle) and 0x22b (spawn).
  4715. This should complete the required packets for PACKETVER 7. [Skotlex]
  4716. * Added support for the PACKETVER 7 packets in the "dummy" current
  4717. intravision implementation. [Skotlex]
  4718. * Fixed @autoloot being off by 0.01% when entering a manual value.
  4719. [Skotlex]
  4720. * Restored the "Secret" behaviour of Blast Mine and Claymore Trap where
  4721. each target is hit N times (where N is the number of mobs in the splash
  4722. area at the moment of triggering). [Skotlex]
  4723. * Updated the tools/stackdump script to also handle sig-plugin generated
  4724. backtraces. Now it will also auto-determine whether the exe needs a .exe at
  4725. the end or not. Help me test it as I want this script on stable NOW :X
  4726. [Skotlex]
  4727. * Usage is "stackdump <login/char/map> <txt/sql> [number]". When a number
  4728. is given, sig-plugin stackdumps are assumed, otherwise it parses the normal
  4729. stackdump as before. [Skotlex]
  4730. * Corrected autoloot so that you can specify rate with decimal precision
  4731. ("@autoloot 0.01" should work) [Skotlex]
  4732. 2006/06/21
  4733. * [Removed]:
  4734. - Redundant mob name copying. (it's already copied in mob_parse_dataset) [Lance]
  4735. * [Fixed]:
  4736. - Compilation warnings and errors.
  4737. [Improved]:
  4738. - Changed and moved IP sync status messages to elaborate more. [Lance]
  4739. * Tested and fixed resolve_hostbyname. Applied said function around most of
  4740. the code where needed. Removed includes for the OS/network system pretty
  4741. much from every file (our socket.c file should handle this) [Skotlex]
  4742. * Made the GM mute request bypass the manner_system setting. [Skotlex]
  4743. * Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
  4744. [Skotlex]
  4745. * status_percent_change will now account for when the target's max hp/sp is
  4746. above INT_MAX. [Skotlex]
  4747. * [Added]:
  4748. - DNS (WAN) sync for those pesky disconnections (dynamic ip renewal). [Lance]
  4749. 2006/06/20
  4750. * Some cleaning up of OPTION related code. OPTION_XMAS and OPTION_FLYING
  4751. really ARE the same value clientside! (totally stupid), therefore I've
  4752. opted from removing the flying animation since it really just displays as
  4753. Xmas for others (and the correct fix involves adding a bunch of
  4754. class-change packets...) [Skotlex]
  4755. * Updated skill_require_db to place the Zeny requirements of ZenyNage and
  4756. Fling. [Skotlex]
  4757. * Fixed crash when non-players use ZenyNage. Added the correct Zeny check
  4758. in skill_check_condition, fixed the skill so that it's damage is based on
  4759. whatever zeny is specified in skill_require_db. [Skotlex]
  4760. * Can-act delay will not be reset when warping now. [Skotlex]
  4761. * Fixed Quagmire not altering walking-speed. [Skotlex]
  4762. * Silence now blocks skills both on begin/end casting. [Skotlex]
  4763. * Updated status_calc_bl so that when walking speed changes, the character
  4764. is made to rewalk so that the new speed takes effect inmediately. [Skotlex]
  4765. 2006/06/19
  4766. * Added Ayothaya to nopenalty and nopvp mapflags. [Evera]
  4767. * Combo-used Skills with State "move_enable" will now override the "can't
  4768. move delay". Fixes Break-Fall -> Jump-Kick. [Skotlex]
  4769. * Some more cleanups of battle_calc_damage to account for absorbed damage
  4770. reductions. [Skotlex]
  4771. * Moved back Soul Drain code from mob_dead to skill_counter_additional_effect.
  4772. Now we are back to where the skill animation does not shows, but you DO
  4773. get SP T.T' [Skotlex]
  4774. * Some cleanups and corrections in battle.c to account for negative
  4775. (absorbed) damage. [Skotlex]
  4776. * Fixed fame-list updating crashing char-sql server when the given char-id
  4777. just got into ranking. [Skotlex]
  4778. * Added missing Arunafeltz maps with information from NLZ [Evera]
  4779. 2006/06/18
  4780. * [Fixed]:
  4781. - Typo in status.c add_sc() using 'skill' instead of 'sk' as index, resulting in
  4782. filling the SkillStatusChangeTableArray with junk data.
  4783. - > NEEDS CONFIRMATION < Ends casting if player is knocked with freezing/stun/whatever
  4784. - Typo in parse_frommap. [Lance]
  4785. * [Fixed]:
  4786. - clif_initialstatus using SHRT_MAX instead of USHRT_MAX for status_point.
  4787. * [Temperory Fixed]:
  4788. - Crashing of SQL char-server in parse_frommap case 0x2b01. [Lance]
  4789. * [Removed]:
  4790. - Large part of scripted mob control commands are removed.
  4791. - Large part of scripted player control commands are removed.
  4792. - Scripted mob slaves changing master ID.
  4793. [Added]:
  4794. - Unit control commands.
  4795. - CALLBACK_NPCCLICK for scripted mobs, added this to db/const.txt too.
  4796. - Macro RECURSIVE_MASTER_CHECK in battle.c
  4797. [Modified]:
  4798. - buildin_skilluseid and buildin_skillusepos -> buildin_unitskilluseid
  4799. and buildin_unitskillusepos.
  4800. - md->callback_flag to short (double word). [Lance]
  4801. 2006/06/17
  4802. * Devotion absorbed damage will now appear to come from oneself (instead of
  4803. the original attacker changing directions towards the Crusader) [Skotlex]
  4804. * Updated clif_refres to send inventory, cart, and weight info. [Skotlex]
  4805. * Fixed intif_guild_memberinfoshort to not leave a dangling pointer when
  4806. someone logs out <.< [Skotlex]
  4807. * Changed some mapflags related to the eye of hellion quest. [MasterOfMuppets]
  4808. * [Added]:
  4809. - buildin_checkcell, buildin_mobwarp, buildin_pcattack.
  4810. [Improved]:
  4811. - buildin_skilluseid and buildin_skillusepos to accept a few more arguments.
  4812. - mob_script_callback to return sucess value [Lance]
  4813. * Fixed the party HP packets to send max HP 10000 and scale HP accordingly
  4814. when the player's HP doesn't fits in the packet's field. Fixes HP bars not
  4815. correctly displaying the % of life when max HP is above 32k. [Skotlex]
  4816. 2006/06/16
  4817. * Fixed option value being reset'ed on login (fixes cart/peco/falcon being
  4818. lost) [Skotlex]
  4819. * Corrected @speed to alter your base speed instead of battle one. Means
  4820. the change remains for much longer (until status_calc_pc is invoked, which
  4821. could be due to equipping/unequipping stuff) [Skotlex]
  4822. * Modified the bNoMagicDamage/bNoWeaponDamage bonuses to be a 0-100
  4823. setting. Meaning you can do bonus bNoMagicDamage,50; To make all magic
  4824. damage be reduced by half. This bonus stack, so two cards with
  4825. bNoMagicDamage,50 will give magic immunity. [Skotlex]
  4826. * Removed setting gtb_pvp_only and replaced it with gtb_sc_immunity which
  4827. specifies the threshold before the bNoMagicDamage starts blocking support
  4828. statuses as well. ie: gtb_sc_imunity: 75 will mean that "bonus
  4829. bNoMagicDamage,70;" reduces magic damage by 70%, but does not blocks heal
  4830. or support status, while "bonus bNoMagicDamage,80;" does. [Skotlex]
  4831. * Removed db_tables.sql as it's no longer used. [Skotlex]
  4832. * the mvp_sd is removed when the mob is the emperium and there's no
  4833. killer/exp-awarded (assumed killed by script), this prevents the on-kill
  4834. event from triggering and giving the castle to whoever damaged the most the
  4835. emperium without destroying it. [Skotlex]
  4836. * [Added]:
  4837. - Custom slave mobs to inherit the callback_flag.
  4838. - Added option #25 to buildin_setmobdata to set the callback_flag. [Lance]
  4839. * [Improved]:
  4840. - Cleaned up Custom Mob Script Callback codes. Looks much better now :B. [Lance]
  4841. 2006/06/15
  4842. * [Fixed]:
  4843. - intif_parse_RenamePetOk for not compatible with ANSI-C initialzation specification.
  4844. [Lance]
  4845. * Added indexes for loginlog and ipbanlist as they did not have any.
  4846. (note, someone already put the index on loginlog on trunk.) [Euph]
  4847. * Merged Adam's patch to let the char-server handle validation of
  4848. pet-name-change requests through the allowed char letters config. [Skotlex]
  4849. * Fixed "wedding_ignore_palette: yes" not working when relogging with the
  4850. gear already equipped. [Skotlex]
  4851. * Added blocking of the Kick skills when you are a Soul Linker. [Skotlex]
  4852. * Added enabling to turn off a kick-stance regardless of class. [Skotlex]
  4853. * Altered a bit how status_set_viewdata behaves in regards to Wedding/Xmas
  4854. options. [Skotlex]
  4855. * Added back OPTION_XMAS, but the actual value is missing! [Skotlex]
  4856. * Corrected chrif_save so that the player is not set offline on map-change.
  4857. [Skotlex]
  4858. * Added change-look support in pc_setoption when specifying OPTION_XMAS
  4859. [Skotlex]
  4860. * Fixed clif_parse_RemoveOption removing all options instead of just
  4861. Falcon/Cart/Peco [Skotlex]
  4862. * Fixed clif_send not sending packets to SELF when specifying AREA if the
  4863. source is not on the map yet. [Skotlex]
  4864. * Fixed and cleaned up script command 'equip' [Skotlex]
  4865. * Fixed 'autoequip' items. [Skotlex]
  4866. * Fixed Aspd not being updated in your status window after Agi/Dex
  4867. increasing statuses take effect. [Skotlex]
  4868. 2006/06/14
  4869. * Fixed map_nick2sd so that searching for "Adam" will not match a char
  4870. named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
  4871. * Modified how luk reduces status changes by reducing the gap. Eg: resist =
  4872. vit; resist += (max - resist)*luk/300; [Skotlex]
  4873. * Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
  4874. luk threshold at which you gain inmunity (defaults to 300). [Skotlex]
  4875. * Fixed buildin_getmobdata. It was trying to handle the first parameter as the
  4876. array to fill in. [blackhole89]
  4877. * Blocked again skill usage during marionette. [Skotlex]
  4878. * Fixed main.sql adding a key on char_id rather than account_id for the
  4879. char table. [Skotlex]
  4880. * Cleaned up character saving in char-sql, it no longer needs to query the
  4881. database to see if the player exists on each char-save, instead it checks
  4882. the received data against the online-players db. No such fix is required
  4883. for char-txt. [Skotlex]
  4884. * Added an error message on the char-server when the received player data
  4885. size does not matches with the expected size (should avoid the crash that
  4886. happens on such a memcpy). [Skotlex]
  4887. * [Improved]:
  4888. - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
  4889. queries. [Lance]
  4890. 2006/06/13
  4891. * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
  4892. * Added account_id index to char table. Thanks to Buuyo for reporting it.
  4893. Sql users apply upgrade_svn7146.sql NOW. [Skotlex]
  4894. * Marionette and Devotion will now check raw distance and ignore obstacles
  4895. and the like. [Skotlex]
  4896. * Added irc_channel_pass setting and prevent crashing when irc server
  4897. lookup by host fails. Thanks to Trancid for the details. [Skotlex]
  4898. * [Fixed]:
  4899. - clif_parse_GetCharNameRequest displaying false alarm for legitimate GM snooping.
  4900. [Lance]
  4901. * Added support for reading correctly status change data from Guild and
  4902. Homun skills. [Skotlex]
  4903. * Added support for reading Homun skill data (which means the HM skills are
  4904. now safe to add to skill_db, skill_require_db, etc) [Skotlex]
  4905. * Oppositions can't be made during WoE now. [Skotlex]
  4906. * Fixed a few compiler warnings from VC [Skotlex]
  4907. * Commented out the Homunculus Skills<->Status Change link which was
  4908. causing some memory corruptions. [Skotlex]
  4909. 2006/06/12
  4910. * [Fixed]:
  4911. - buildin_npcshopitem not allocating extra 1 block of terminator.
  4912. [Added]:
  4913. - Modified versions of Dj-Yhn's buildin_npcshopdelitem and buildin_npcshopadditem
  4914. [Lance]
  4915. * Updated clif_disp_onlyself to not use dynamic memory and write directly
  4916. to the player's buffer. [Skotlex]
  4917. * Updated @noask to also tell the user what he has just rejected (added
  4918. msg_athena entries for each of the different requests). Also updated it to
  4919. use clif_disp_onlyself. [Skotlex]
  4920. * Fixed a pair of missing initializers in the clif storage functions.
  4921. [Skotlex]
  4922. * @heal no longer displays a healing animation. Fixes the client believing
  4923. you couldn't be healed more than 32K. [Skotlex]
  4924. * Now you can use any skills (except encore/dancing ones) while under
  4925. Longing for Freeding. [Skotlex]
  4926. * Now you can use any skills while under Marionette Control. [Skotlex]
  4927. * Fixed npc_checknear's distance check returning the opposite of what it
  4928. should (false when the range is correct and viceversa) [Skotlex]
  4929. * Added a warning on item loading when an item is of equippable type but
  4930. has no equippable position. [Skotlex]
  4931. * Turning an alliance to an opposition won't work now during WoE [Skotlex]
  4932. * Slaves can summon other mobs now. The only ones who can't do this are
  4933. player summoned mobs. [Skotlex]
  4934. * Merged the following functions for faster processing of items: [Skotlex]
  4935. clif_storageitemlist + clif_storageequiplist = clif_storagelist
  4936. clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
  4937. clif_itemlist + clif_equiplist = clif_inventorylist
  4938. Note that the changes are a bit substantial and need proper testing!
  4939. * Increased max knockback value support to 25. [Skotlex]
  4940. * [Optimized]:
  4941. - buildin_npcshopitem memory allocation to calculate before reallocating.
  4942. [Lance]
  4943. * Made guild member exp an unsigned int. [Skotlex]
  4944. * Various cleanups to the npc clicking related functions. Should fix quite
  4945. some possible crashes from crafted packets. [Skotlex]
  4946. * Added overflow checks for bonus settings mdef_rate/def_rate. [Skotlex]
  4947. * Added missing update of INT after a buf. [Skotlex]
  4948. * Small cleanup of how SC_BLEEDING works. [Skotlex]
  4949. * Fixed party_foreach_samemap invoking the function on the CASTER instead
  4950. of on the party members. [Skotlex]
  4951. * Modified clif_parse_NpcClicked to handle the different situations with
  4952. different bl-objects (attack on players/mobs, click on npcs or mobs with
  4953. npc attached) [Skotlex]
  4954. 2006/06/09
  4955. * [Fixed]
  4956. - Compilation warnings on guild.c and int_guild.c [Lance]
  4957. * Added structure party_data and party_member_data to the map server to
  4958. hold party-specific required information about parties including
  4959. Monk/TK/SG/SN states and party member count. Family information is still
  4960. missing, and handling of the state should probably be done by the
  4961. char-server, too... [Skotlex]
  4962. * party Hp updates are no longer done each time the Hp is modified, but
  4963. together with the party xy timer. It means HP-bars will be a bit delayed
  4964. before being updated, but packet consumption should be much less during
  4965. heated battles. [Skotlex]
  4966. * Fixed MoM's typo [Vicious]
  4967. * Fixed map_readafm missing strcpy(afm_name, m->name). [Skotlex]
  4968. * [Improved]:
  4969. - npc_click interception on BL_MOB and BL_PC to let sd act accordingly.
  4970. [Lance]
  4971. * [Fixed]:
  4972. - Execution of sleep/sleep2 more than once will hang the script_state.
  4973. [Lance]
  4974. * Fixed @mapinfo displaying incorrectly maps with nosave which send you
  4975. back to your last savepoint. [Skotlex]
  4976. * Moved guild_exp_rate from a mapserver battle config setting to a char
  4977. server config. It no longer modifies the total taxed exp as seen on the
  4978. guild information window, but directly modifies the exp that the guild
  4979. earns. [Skotlex]
  4980. * Added an error report and correction when the map server receives a guild
  4981. from the char-server with more guild members than MAX_GUILD. [Skotlex]
  4982. * Changed the interval between waterballs back to 125 [MasterOfMuppets]
  4983. * Fixed a typo in char_sql/char.c, thanks to Euph [MasterOfMuppets]
  4984. 2006/06/08
  4985. * Modified guild exp to be an unsigned int rather than a signed one.
  4986. [Skotlex]
  4987. * Fixed @skilltree printing out Unknown job for most targets used.
  4988. [Skotlex]
  4989. * Cleaned clif_pvpset to not send the packet to nearby characters when the
  4990. source is GM-hidden. May help fix the crash on PvP with gm-hidden
  4991. characters. [Skotlex]
  4992. * Modified map_freeblock_unlock so that aFree errors will report the
  4993. file/line that INVOKED the function rather than the function itself.
  4994. [Skotlex]
  4995. NOTE: Do NOT disable the memory manager as that will break this change.
  4996. This change is to be temporarily set until the afree'd error can be
  4997. resolved.
  4998. * Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable
  4999. only on warps that don't lead to nobranch maps. 2 - enable on all warps.
  5000. [Skotlex]
  5001. * Adjusted Don't Forget Me, Defender, Longing to use all val entries, and
  5002. to hold the speed adjustment value rather than speed penalty (eg: 125
  5003. instead of 25). [Skotlex]
  5004. * Cleaned up status_calc_speed so that speed penalties are correctly
  5005. handled (eg: 25% penalty is speed*100/75, not +speed*25/100). Thanks to
  5006. Euph for pointing it out and Belle for the speed mechanics. [Skotlex]
  5007. 2006/06/07
  5008. * Fixed Sense using mdef instead of mdef2 [Skotlex]
  5009. * Fixed item-skills not showing up on login. [Skotlex]
  5010. * Cleaned up clif_parseLoadEndAck, by testing which packets are required
  5011. only on first-login and which ones are required on all map-changes.
  5012. Skill-tree, Exp, Skill Points and most of the basic status are no longer
  5013. sent on map-change (items, cart data and zeny still need to be sent one
  5014. very map-change). [Skotlex]
  5015. * Fixed the mob state not being set to Berserk/Angry correctly after the
  5016. mob reaches the target's location. [Skotlex]
  5017. * Added config setting mob_npc_warp, when set to yes, enables mobs to be
  5018. warped between maps when stepping on a npc-warp. [Skotlex]
  5019. * Added monster_ai setting &64, when enabled makes a mob run to any nearby
  5020. npc-warp when their current target has switched maps. [Skotlex]
  5021. * Added pc_calcexp to calculate individual exp bonuses acquired from exp's
  5022. source (race bonus cards, SG Exp skills, pk-mode higher level exp) [Skotlex]
  5023. * pc_gain_exp now also receives the source of the exp, when said source
  5024. exists, bonuses are applicated as needed. [Skotlex]
  5025. * Added status_kill when capturing a mob, should take care of the mob not
  5026. respawning after caputed. [Skotlex]
  5027. * Fixed item info not displaying the found item id [Skotlex]
  5028. * Fixed item info not displaying the weight value properly. [Skotlex]
  5029. * Adjusted status resistances and durations taking as base Viccious's info
  5030. from the kro guidebook. [Skotlex]
  5031. * Moved souldrain code from skill_counter_additional_effect to mob_dead. It
  5032. should display the skill animation correctly now. [Skotlex]
  5033. * Adjusted several sc rate/time reductions as pointed out by Playtester.
  5034. [Skotlex]
  5035. - Luk now plays a luk/10 reduction role rather than a luk/3 one.
  5036. * Removed char_nick2id from char-sql server as it's no longer needed.
  5037. [Skotlex]
  5038. * Fixed quitting the map server not properly saving the storage before
  5039. deleting it. Thanks to Adam for pointing it out. [Skotlex]
  5040. * Cleaned status_get_sc_tick/status_get_sc_def to use the status_data
  5041. function. [Skotlex]
  5042. * SC_STOP's chance and duration can't be reduced anymore. [Skotlex]
  5043. * Storm Gust no longer has a 100% chance to freeze by passing mdef, now it
  5044. has a 300% base chance reduced by mdef and the like as explained out by
  5045. Tharis. [Skotlex]
  5046. * Frost Diver/Frost Nova's base freezing chance is no longer affected by
  5047. target's int. [Skotlex]
  5048. * [Improved]:
  5049. - mob_dead not to remove script controlled monsters with player sprites.
  5050. [Added]:
  5051. - buildin_mobdeadsit :D [Lance]
  5052. * [Fixed]:
  5053. - temp++ gets issued before if(mvp_damage<(unsigned int)md->dmglog[i].dmg) in
  5054. mob_damage. Thanks to seahorsix. [Lance]
  5055. * [Fixed]:
  5056. - Corrected login-server SQL to use *((ulong *)p) instead of (ulong)p [Lance]
  5057. * [Optimized]:
  5058. - list and size not being initialized (size get intialized in default: switch case)
  5059. Eliminated default case and initialized list and size at the beginning. [Lance]
  5060. 2006/06/06
  5061. * Hopefully fixed for sure mobs getting extra stats when changing-class due
  5062. to the mobs level up setting. [Skotlex]
  5063. * Removed a piece of code that should no longer be needed due to the
  5064. combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
  5065. self-skills from being used on others (pets/mobs should be allowed to do
  5066. that) [Skotlex]
  5067. * Added a status_check_skilluse call in Sightblaster to prevent it from
  5068. hitting hidden/cloaked/act-dead/etc players. [Skotlex]
  5069. * Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
  5070. * Fixed Soul Burn not zapping away all SP. [Skotlex]
  5071. * The monsters can level up setting will not take effect when the mob's
  5072. level is LESS than their db counter-part (should prevent under-leveling
  5073. causing underflows and semi-immortal mobs) [Skotlex]
  5074. * Fixed mvp-exp calculations being messed up with more than one attacker.
  5075. [Skotlex]
  5076. * Changed the mob exp race bonus so that each player gets their own bonus,
  5077. rather than the killer's bonus applying to everyone. Still not the
  5078. "correct" way, but one step closer to it. [Skotlex]
  5079. * [Fixed]:
  5080. - Allocation of event_list in guild_npc_request_info to aCalloc so
  5081. memcpy(ev->name,event,strlen(event)) will have a null terminator. [Lance]
  5082. 2006/06/05
  5083. * Fixed a crash when using SL_SMA and the "combo" ain't ready. [Skotlex]
  5084. * Hopefully fixed changing a mob's class causing them to get all sort of
  5085. stat bonuses due to the mobs-level-up setting. [Skotlex]
  5086. * Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef
  5087. to signed char to correctly account for cards with penalties in said stats.
  5088. [Skotlex]
  5089. * Fog of Wall won't affect the caster now in any way. [Skotlex]
  5090. * Added clif_fixpos packets before attacking for the first time to clear
  5091. any position sync issues with the client. [Skotlex]
  5092. * Fixed skill_unitsetting using layout->count for the for instead of
  5093. group->count [Skotlex]
  5094. * Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly
  5095. increase dex/agi by 40% per level. [Skotlex]
  5096. * Fixed char-sql server not deleting character variables when deleting a
  5097. char. [Skotlex]
  5098. * Corrected cloaking not ending on attack if you are near a wall. [Skotlex]
  5099. * Updated pc_bonus to use cap_value on all status_data modifiers to prevent
  5100. overflows/underflows. [Skotlex]
  5101. 2006/06/03
  5102. * Fixed @mi/@mobinfo not showing the name collumns correcly [shadow]
  5103. * Solved the bug that made firewalls only castable a few times until [MasterOfMuppets]
  5104. you relogged. Thanks to Euph for the fix.
  5105. * Added variable other_mapserver_count to chrif.c which holds total count
  5106. of connected map-servers. By using this we prevent sending unnecessary
  5107. packets to the char-server when there's no more map-servers connected.
  5108. [Skotlex]
  5109. - Affected packets are whispers, announces, party messages, guild messages.
  5110. 2006/06/02
  5111. * Fixed Visual Studio 7.1 Solution File (Login TXT and Map TXT were removed)
  5112. * Fixed a bug in unit_can_reach_bl which breaks path seeking when the
  5113. target is near obstacles. [Skotlex]
  5114. * Updated offensive use of Sanctuary to function like on the official servers [MasterOfMuppets]
  5115. * Changed the interval between waterballs from 150 to 250 milliseconds [MasterOfMuppets]
  5116. * Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it
  5117. fails. Fixes cases where the client gets "stuck" and refuses to let you
  5118. pick any items. [Skotlex]
  5119. * Removed the walk delay from firewall and changed its knockback [MasterOfMuppets]
  5120. to 1 tile to make it act more like in the official servers.
  5121. * Some cleaning of the mob slave ai. [Skotlex]
  5122. * Corrected Brandish Spear to work on levels above 10. [Skotlex]
  5123. * Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for
  5124. skill levels above 10 (meant for boss casted skills) [Skotlex]
  5125. * Fixed Spear-Quicken messing with the calc_flag [Skotlex]
  5126. * Fixed Freeze/Stone/Benedictio not changing your elemental LEVEL to 1.
  5127. [Skotlex]
  5128. * [Fixed]
  5129. - Yet another compilation warning. [Lance]
  5130. 2006/06/01
  5131. * Altered status_calc_pc so that equipment scripts are ran before
  5132. card-scripts. [Skotlex]
  5133. * Fixed pc_bonus to not underflow/overflow when adjusting def/mdef.
  5134. [Skotlex]
  5135. - These two together, should fix Tao Gunka Card.
  5136. * npc_debug_warps() will now be invoked if warp_point_debug is set.
  5137. [Skotlex]
  5138. * Updated item_db.sql/mob_db.sql to current. [Skotlex]
  5139. * Fixed NPC_SELFDESTRUCTION not showing nor dealing damage. [Skotlex]
  5140. * NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
  5141. without removing it when the skill level is greater than one. [Skotlex]
  5142. * Added SC_DANCING declaration in the Status Change tables to signal it
  5143. modifies Walk speed. [Skotlex]
  5144. * Fixed pc_damage setting your canlog_tick even if the damage has no source
  5145. (eg: poison, berserk) [Skotlex]
  5146. * Berserk's aspd bonus now stacks with other aspd bonuses, but is still
  5147. affected by Quagmire/Forget-me-not. [Skotlex]
  5148. * Corrected setting slaves_inherit_mode to not apply to morphosis skills.
  5149. [Skotlex]
  5150. * Corrected pc_setoption to invoke status_calc_pc when getting/removing the
  5151. cart. [Skotlex]
  5152. * Fixed @mobinfo displaying the wrong element. [Skotlex]
  5153. * Fixed Autoblitz taking into account target's luck rather than attacker's
  5154. [Skotlex]
  5155. * Fixed slaves warping endlessly to their master when the master-slave
  5156. distance exceeds 30. [Skotlex]
  5157. * SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)
  5158. [Skotlex]
  5159. * Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the
  5160. incorrect range variable. [Skotlex]
  5161. * You can now equip/unequip stuff while the storage is open. [Skotlex]
  5162. 2006/05/31
  5163. * Fixed Soul Drain not really giving you SP [Skotlex]
  5164. * [Fixed]:
  5165. - Suppressed compilation warning in chrif.c [Lance]
  5166. * [Fixed]:
  5167. - Guys can't go across map-servers :( [Lance]
  5168. * [Fixed]:
  5169. - Restoration and saving of sd->npc_id must be done every time. [Lance]
  5170. * Added back the Freeze/Petrify adjustments of -50%def and +25%mdef (when
  5171. where these lost?). Thanks to Buuyo for pointing it out. [Skotlex]
  5172. * Corrected the mob_ai&2 setting triggering rude-attacked due to can't walk
  5173. delay. [Skotlex]
  5174. * Made the char_name_option char_athena.conf setting apply to parties and
  5175. guilds as well. It cannot be applied to pets yet without adding a
  5176. change-name-request interserver packet. [Skotlex]
  5177. * Moved the JOB_* defines from map.h to mmo.h, update char.c to use them.
  5178. [Skotlex]
  5179. * Added function char_read_fame_list for famelist reading. Invoked it on
  5180. init, and made it be sent automatically to connecting map servers.
  5181. [Skotlex]
  5182. * Some cleaning of the fame-list reading code. [Skotlex]
  5183. * Some cleaning of the fame-update code, fixed a logic bug which made the
  5184. ranking list fail to display the correct ranker names. [Skotlex]
  5185. * Removed typedef bool from socket.h and included cbasetypes.c instead.
  5186. [Skotlex]
  5187. * Cleaned up and corrected the calculation of hit/flee/cri/lucky dodge in
  5188. status_calc_bl. [Skotlex]
  5189. * [Fixed]:
  5190. - Incorrect SQL syntax in login.c (missing collumn) [Lance]
  5191. * [Improved]:
  5192. - SQL upgrade file for the new loginlog. Thanks to ultramage. [Lance]
  5193. * [Fixed]:
  5194. - nullpo in pet.c caused by equipping without checking if the pet is available.
  5195. [Lance]
  5196. * [Fixed]:
  5197. - Latest client support completed! [Lance]
  5198. * [Fixed]:
  5199. - Missing #include for cbasetypes.h in login server SQL.
  5200. - Logic errors in run_script [Lance]
  5201. * [Added]:
  5202. - Partial support for latest login packet. But it seems to have a new security
  5203. module. [Lance]
  5204. 2006/05/30
  5205. * [Improved]:
  5206. - Fake NPC interface to use real NPCs.
  5207. - Scripting interface to restore and save sd->npc_id. [Lance]
  5208. * Added function pc_check_skilltree for checking if you unlocked new
  5209. tree-skills when raising non-passive skills. [Skotlex]
  5210. * Fixed flee/hit calculation in status_calc_bl to account for bonuses from
  5211. the base status. [Skotlex]
  5212. * [Fixed]:
  5213. - Compatibility problems in login.c [Lance]
  5214. * Fixed pets ignoring can-act delays for skill usage. [Skotlex]
  5215. * [Added]:
  5216. - Mercenary.c in VS.NET 2005 project files
  5217. [Improved]:
  5218. - loginlog using unsigned long `ip` field.
  5219. (Please check for compatibility problems). [Lance]
  5220. * Fixed status_calc_pc not zero'ing ALL vars it should, allowing certain
  5221. bonuses (like effect-on-hit) to stack. [Skotlex]
  5222. * slaves inherit speed setting will now work regardless of whether the
  5223. slave or master has the MD_CANMOVE mode bit. [Skotlex]
  5224. * Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
  5225. * AL_TELEPORT will fail when used by slave mobs. [Skotlex]
  5226. * Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
  5227. attacks. [Skotlex]
  5228. * Fixed status_damage not setting your HP to 0 when you died [Skotlex]
  5229. * Fixed the pcbonus2 warnings using the wrong value before printing the
  5230. invalid Element error. [Skotlex]
  5231. * Fixed underflow issues when calculating dmotion. [Skotlex]
  5232. * Fixed Absorb Spirit Spheres [Skotlex]
  5233. * Added battle_config min_chat_delay (default 0, battle/client.conf)
  5234. specifies in ms what is the min delay between player sent chats
  5235. (whisper/global/party/guild). Messages that exceed this threshold are
  5236. silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the
  5237. player?) [Skotlex]
  5238. * [Fixed]:
  5239. - signed/usigned problem in sprintf and fscanf @ mercenary.c [Lance]
  5240. * Rewrote/cleaned up @petfriendly. [Skotlex]
  5241. * Cleaned up final part of status_calc_pc (flags 2/4 do not exist) [Skotlex]
  5242. * Updated attr_fix_table reading code to account for ELE_MAX (will
  5243. correctly read bigger elemental tables if ELE_MAX is changed) [Skotlex]
  5244. * Aggressive mobs will now use battle_check_range rather than mob_can_reach
  5245. to decide whether to lock-on or not to a target within sight-range. [Skotlex]
  5246. * Added warnings in mob_readdb when the mob's element is invalid. [Skotlex]
  5247. * Added error messages in pc_bonus* functions when an invalid element is
  5248. passed to the relevant bonuses. [Skotlex]
  5249. * [Optimized]:
  5250. - clif_specialeffect to use the enums.
  5251. [Improved]:
  5252. - buildin_specialeffect and buildin_specialeffect2 to accept effect area
  5253. definition. [Lance]
  5254. * [Added]:
  5255. - Visual Studio .NET 2003 includes for mercenary.c [Lance]
  5256. * Removed the on-die specific code from unit_remove_map and placed it on
  5257. the corresponding *_dead functions. unit_remove_map should never assume the
  5258. char died, it is just a "remove from map" function. [Skotlex]
  5259. * Updated status_damage to handle the general death code (clearing status
  5260. changes, clearing skill related data, sending death packet, etc). The
  5261. return value from the *_dead functions will tell it what to do or not with
  5262. the object (death aborted, clear it from map/memory, etc) [Skotlex]
  5263. * Cleaned up pc_dead to take advantage of the fact that status changes are
  5264. not ended until after the function. [Skotlex]
  5265. * Disabled ontouch npcs triggering on hidden/chase-walk characters.
  5266. [Skotlex]
  5267. * Updated/adapted current Homun code to use the status_data update.
  5268. [Skotlex]
  5269. * Updated map-server Makefile to compile mercenary.* files. [Skotlex]
  5270. * [Fixed]:
  5271. - Pets attacking even master is dead. [Lance]
  5272. * Fixed battle_calc_weapon_attack damage capping damage to a minimum of 0
  5273. (negative values should be allowed when attack is absorbed by target's
  5274. element) [Skotlex]
  5275. 2006/05/29
  5276. * [Fixed]:
  5277. - Missing ';' in item #4358 [Lance]
  5278. * [Fixed]:
  5279. - Missing maps in map index database. [Lance]
  5280. * [Fixed]:
  5281. - Battle mechanics in battle_check_target [Lance]
  5282. * [Fixed]:
  5283. - Typo in mob_dead causing crash. Thanks to reddozen and his gang for testing.
  5284. [Lance]
  5285. * Cleaned up friend list saving and fixed loading of friends.txt file
  5286. (char-txt) [Skotlex]
  5287. * Added the Arunafeltz maps, not tested yet [Playtester]
  5288. - someone with an up-to-date client should test them
  5289. * Fixed pc_gainexp resetting your exp to 0 rather than adding it in...
  5290. [Skotlex]
  5291. * Corrected aspd calculation code to avoid negative overflows. [Skotlex]
  5292. * Fixed battle_check_target check on BCT_ALL to check versus BL_CHAR
  5293. instead of BL_PC and BL_MOB [Skotlex]
  5294. * [Fixed]:
  5295. - Declaration of int map_getcellp(struct map_data*,int,int,cell_t); [Lance]
  5296. * Removed Undead being immune to poison status. [Skotlex]
  5297. * Removed speed penalty from SC_SKA [Skotlex]
  5298. * Fixed SC_SPURT triggering on Soul Linkers. [Skotlex]
  5299. * SC_DODGE won't be dispelled on death now. [Skotlex]
  5300. * [Fixed]:
  5301. - pc_follow_timer possible triggering crash.
  5302. - pc_reg_received to use battle_status.hp instead of status.hp
  5303. [Added]:
  5304. - macro map_id2index for non-cyptic mapid to mapindex conversion. [Lance]
  5305. * Added a division by zero check in mob_dead to prevent the (impossible)
  5306. case where a mob dies with received damage of zero. [Skotlex]
  5307. * Modified skill_get_range2 to return range 9 for skills with range 0 for
  5308. Non-Players. This usually signals Self skills, and mobs/pets should be able
  5309. to use them in other characters. [Skotlex]
  5310. * Optimized a bit the SC_PROVOKE code (to use val3/val4) [Skotlex]
  5311. * Fixed draining when the amount drained is negative (invoke zap rather
  5312. than heal) [Skotlex]
  5313. * Implemented GS_FLING as per the current skill description. [Skotlex]
  5314. * Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than
  5315. status.hp/sp, fixes scripts reading the wrong Hp/Sp values [Skotlex]
  5316. * Added some missing SC_* entries on the initial listing (potion related
  5317. and speed up ones) [Skotlex]
  5318. * Fixed function declaration of map_getcellp() [Skotlex]
  5319. * [Fixed]:
  5320. - status.c:920: warning: 'mbl' might be used uninitialized in this function
  5321. - skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
  5322. - skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
  5323. - skill.c:2826: warning: 'sid' might be used uninitialized in this function [Lance]
  5324. * [Optimized]:
  5325. - Removed unused variable (account_id) in storage_guild_storagesaved.
  5326. * [Optimized]:
  5327. - Removed unused checks for unsigned data type and possible logic error for
  5328. char type (gcc treats char as unsigned). [Lance]
  5329. * [Fixed]:
  5330. - Relogging in with 0 HP didn't trigger dead event. [Lance]
  5331. 2006/05/28
  5332. * Added functions status_revive, pc_revive and mob_revive to handle revival
  5333. (it doesn't handles player respawning, though). Fixed reviving @ commands.
  5334. [Skotlex]
  5335. * Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes
  5336. Bladestop causing an unknown status change message). [Skotlex]
  5337. * Fixed MSS_DEAD state skills not triggering. [Skotlex]
  5338. * Changed undeads to by default always sustain 100% of the damage from firewalls [MasterOfMuppets]
  5339. * [Fixed]:
  5340. - script functions that doesn't pass references, thanks to End_of_exam. [Lance]
  5341. * [Protected]:
  5342. - clif_parse_LGMmessage from possible hacks [Lance]
  5343. * Fixed unable to store n items into storage unless n was the total amount
  5344. of items you had. [Skotlex]
  5345. * Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
  5346. 2006/05/27
  5347. * Added structure status_data which holds status-related information (str,
  5348. agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
  5349. and weapon_atk structure with the weapon specific info (atk, atk2, element)
  5350. to be used by all combat structures (TODO: Homun needs to be updated to use
  5351. it). This in change involves a LOT of changes throughout the code and many
  5352. optimizations were done as well. Partial list (see svn changelog for complete
  5353. changes): [Skotlex]
  5354. - NOTE: Changes are substantial! I tested a bunch of stuff and all the
  5355. skills I changed the most, but it is possible there are unnoticed bugs
  5356. remaining to fix!
  5357. - Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
  5358. - Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
  5359. - Added status functions to deal with damage and healing (status_damage,
  5360. status_heal, status_percent_change) and a bunch of defines for easier
  5361. handling of them (status_percent_heal, status_percent_damage,
  5362. status_fix_damage, status_kill, etc). Objects must be hurt/healed through
  5363. THIS, pc_damage/mob_damage most no longer be directly invoked!
  5364. - Rewrote and cleaned up battle_calc_misc_attack
  5365. - Merged config options pc_attack_attr_none, mob_attack_attr_none,
  5366. pet_attack_attr_none into attack_attr_none (type 4)
  5367. - Removed config options player_defense_type, monster_defense_type,
  5368. pet_defense_type in favor of weapon_defense_type
  5369. - Modified skill_calc_heal to take into account the MEDITATION bonus.
  5370. - Modified Slim Pitcher so it will work when casted by non-players. Will
  5371. now also work with SP-healing items.
  5372. - Rewrote Freedom of Cast code to use function status_freecast_switch to
  5373. switch adelay/speed when cast begins/ends.
  5374. - Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
  5375. easier updating when used in conjunction with ground skills.
  5376. - Fixed Asura Strike being usable from within a combo regardless of combo skill.
  5377. - Added status_calc_bl which does status-change related calculations using
  5378. as base the base_status of the bl object and the SCB_* flag passed. This is
  5379. invoked on status changes, and status_calc_pc will no longer be invoked
  5380. (which results on much faster status-change calculations).
  5381. - pc_clean_skilltree will now also remove item-granted skills.
  5382. - Learning skills will now only invoke status_calc_pc when the skill is passive.
  5383. - Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
  5384. packets and functions ONCE regardless of skill-levls earned.
  5385. - Cleaned up pc_ regen related functions.
  5386. - Made player-sprite mobs have item pickup animation and walkdelay when taking items.
  5387. - Clones will copy a player's base status rather than battle status (so
  5388. status-change alterations are not cloned)
  5389. 2006/05/26
  5390. * Part B of the homunculus code. [blackhole89]
  5391. While most of the homunculus handling functions are in now, it still lacks
  5392. code required for players to create it.
  5393. Given I haven't screwed up, you could master yourself one through the DB though.
  5394. * Fixed crashing in mob.c [Lance]
  5395. * Patches to allow everything to work right. + 1 more sample script. [Lance]
  5396. * Mob control engine tested 99% working so far. [Lance]
  5397. * Change scripting engine's NPC scope vars to dot (.) style.
  5398. * Improved and (should be fully) fixed the mob control engine. [Lance]
  5399. * Fixed typos in char.c [Lance]
  5400. * Rewrote fame rank lists system to reduce char-server load, as requested by
  5401. Skotlex: now it has a copy of those lists, and updates only the proper one
  5402. when needed instead of rebuilding all from saves everytime (which required
  5403. to always save the character before rebuilding the lists) [DracoRPG]
  5404. - Note it hasn't been compiled nor tested with SQL, please do it for me
  5405. 2006/05/25
  5406. * Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
  5407. int-based damage component (which is added right before elemental
  5408. modifiers) as described by AuronX. Pending further refining. [Skotlex]
  5409. * Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
  5410. Fixed atcommand @request MSG numbers accordinly.
  5411. On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
  5412. * Added NoVending mapflag. You may disable vending in the streets [Lupus]
  5413. * Increased capacity for Account Variables to 64 [Skotlex]
  5414. * Reverted Intravision implementation to that of stable's. [Skotlex]
  5415. * Corrected Login Server taking it's first argument as both login config
  5416. and lan config. [Skotlex]
  5417. * Fixed mob control commands.
  5418. * Fixed memory leak in scripts (again). Still have a few lying. [Lance]
  5419. 2006/05/24
  5420. * Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
  5421. * Item sharing now shares the same rules as exp sharing (no sharing when
  5422. dead, or idle, etc) [Skotlex]
  5423. * Fixed summoned slaves being able to cast onspawn summon-skills (slaves
  5424. aren't supposed to be able to call minions) [Skotlex]
  5425. * The clif_skill_poseffect packet will not be invoked in Snap unless the
  5426. skill was successful. May fix the client-position lag. [Skotlex]
  5427. * Merged item_db.sql from stable (the one from stable was more recent than
  5428. the one of trunk...) [Skotlex]
  5429. * Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
  5430. * Corrected a pair of incorrect sql query parsing logic in the login-sql
  5431. ban request packet. [Skotlex]
  5432. 2006/05/23
  5433. * Corrected mob angry mode, now it only "restores" itself after being hit
  5434. when the mob has no target within their range of sight rather than on
  5435. picking a new target. [Skotlex]
  5436. * Fixed wedding sprite where it would stay active after unequipping. [Zido]
  5437. * Some cleanup of run_script, should fix the memory leak there. [Skotlex]
  5438. * the charname request hack message has been downgraded to only include
  5439. GM-invisible characters. [Skotlex]
  5440. * corrected clif_charnameack to send negative ID when a disguised player
  5441. asks for it's own disguised name. [Skotlex]
  5442. * Cleaned up the disguised target-id checks taking into considering that
  5443. the only character that sees a negative ID is the same disguised character.
  5444. [Skotlex]
  5445. * Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
  5446. defense), Investigate and Icepick will now use the final def/vit-def values
  5447. rather than the base ones. [Skotlex]
  5448. * The move-enable condition checks for skills are now checked for only when
  5449. on skill use, not at cast-end time. [Skotlex]
  5450. * Corrected clif parse name request failing on disguised characters [Skotlex]
  5451. * Corrected Soul Drain draining from all non-ground-based skills including
  5452. non-magic attacks. [Skotlex]
  5453. * Corrected pc_setoption to change the option and then change class.
  5454. changing option-wedding will automatically convert the view-class as well.
  5455. [Skotlex]
  5456. * Corrected the 15% drop rate increase when killing higher level mobs in
  5457. pk-mode triggering for all mobs with lower level than yourself. Thanks to
  5458. Vayu. [Skotlex]
  5459. * Fixed typo (this time it's not my fault) in script_reload() clearing the same
  5460. db each time o_o [Lance]
  5461. * Fixed sleep command. [Lance]
  5462. * Added 'setd' support for local NPC scope (') variables. [Lance]
  5463. * [Scripting Engine Update] New variables are ready to be used. [Lance]
  5464. 2006/05/22
  5465. * Updated skill_delayfix to return 0 for mobs since they have no skill
  5466. delay other than the one specified in mob_skill_db [Skotlex]
  5467. * Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
  5468. Vayu for pointing it out. [Skotlex]
  5469. * status_get_sc_tick will now use directly Stun's formula rather than
  5470. invoking the status sc chance once. [Skotlex]
  5471. * Fixed a possible null pointer in script command misc_effect [Skotlex]
  5472. * Modified Investigate to take into consideration final def/vit-def rather
  5473. than base values for damage adjustment. [Skotlex]
  5474. * WARNING: New scripting system contains memory leak
  5475. TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
  5476. * Excluded idle and auto-trade party members from TK_POWER list. [Lance]
  5477. * Fixed compilation errors.
  5478. Tidy up jobmaster for easy debugging. [Lance]
  5479. 2006/05/21
  5480. * Part A of the Homunculus code.
  5481. This only features the structures, status_* and clif_* (packets) and is
  5482. not functional yet in any conventional way, but doesn't interfere
  5483. with present functionality either.
  5484. Main purpose is helping me to keep my work organized. [blackhole89]
  5485. * Fixed the "fake" mute status bug. [Zido]
  5486. * Speed up array size calculation and deletion. [Lance]
  5487. * Player must learn the skill before doing auto-spell [Lance]
  5488. * Exploit prevention in clif_parse_NpcStringInput [Lance]
  5489. * SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
  5490. * Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
  5491. 2006/05/20
  5492. * grfio_final moved back if any of GRF overriding is enabled so servers
  5493. with such configuration will not have different values after reloading. [Lance]
  5494. * jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
  5495. * Abit of alterations to login-server. [Lance]
  5496. 2006/05/19
  5497. * Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
  5498. * Small change in pc_additem that could be fixing the current bug with new
  5499. items not getting added. [Skotlex]
  5500. * Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
  5501. * Likely fixed the mob-skill random picking behaviour causing infinite
  5502. loops sometimes. [Skotlex]
  5503. * Modified mobskill_use behaviour to pick a random starting point and check
  5504. skills from that, rather than always checking from first to last. Fixes
  5505. skills with high priority blocking skills lower down in the list from
  5506. triggering. [Skotlex]
  5507. * Updated mob ai behaviour so that mobs use IDLE state skills when their
  5508. current target cannot be reached for melee fighting. [Skotlex]
  5509. 2006/05/18
  5510. * Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
  5511. [Skotlex]
  5512. * Fixed mob_max_skilllvl being capped to 11! [Skotlex]
  5513. * Rewrote/cleaned up several functions in storage.c [Skotlex]
  5514. * Optimized pc_additem comparisons to account for items with more than four
  5515. slots. [Skotlex]
  5516. * Updated clif.c to enable retrieval of items from cart/storage while
  5517. trading. Exception is retrieving items from the cart while vending.
  5518. [Skotlex]
  5519. - The reasoning is that an ongoing trade will not get "corrupted" if you
  5520. earn items before it is commited (only if you lose items from your
  5521. inventory), and it is an annoyance when you realize the stuff you want to
  5522. trade is on the cart/storage.
  5523. * skill reiteration code now does not checks for the trigger-area of the
  5524. skill in the case of non-players, which means mobs can now place traps in
  5525. cells adjacent to each other. [Skotlex]
  5526. * Applied an experimental weather code that should lower bandwidth usage to
  5527. near-none, which's only disadvantage should be the weather not clearing out
  5528. until moving to another map (even when the mapflag is removed from the
  5529. current map). Please test and report if there's any anomalies with it.
  5530. [Skotlex]
  5531. * NPC_AGIUP will now give movement boost of 50% [Skotlex]
  5532. * Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
  5533. * MO_BODYRELOCATION will send the slide packet with the actual src's
  5534. coordinates rather than selected tile. [Skotlex]
  5535. 2006/05/17
  5536. * Modified mob_can_changetarget to return true always when the new target
  5537. is the provoked-by character. Fixes provoke not making the mob change
  5538. target when it already is locked on another player. [Skotlex]
  5539. * Added check to clear previous skill when combo time ends. Should fix TK
  5540. Rankers being unable to initiate a combo with the same kick their previous
  5541. combo was finished with. [Skotlex]
  5542. * Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
  5543. 2006/05/16
  5544. * Modified "hide woe damage" to send the number of hits rather than 1 as
  5545. damage Because when the damage is less than the number of hits, the client
  5546. will display MISS. [Skotlex]
  5547. * Fire Pillar will now do 200%MATK damage per hit when level is >10.
  5548. [Skotlex]
  5549. * Blood Drain always hits now. [Skotlex]
  5550. * Fixed Mob Area Skills not updating their use-time (rendering their skill
  5551. delay useless) [Skotlex]
  5552. * Search free cell will now skip picking the center-tile as target
  5553. location. Will prevent slaves from walking on top of their master, or mobs
  5554. placing stuff right under themselves with the "around" target conditions
  5555. among other things. [Skotlex]
  5556. 2006/05/15
  5557. * Small changes to the skill.conf
  5558. - Monsters now can place ground skills on top of each other by default
  5559. - Land_Skill_Limit format changed and set to "Only Players" by default
  5560. * When reading mapflags, when a map is set to be pvp or gvg, the other will
  5561. be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
  5562. * Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
  5563. skill level is above 10. [Skotlex]
  5564. * Sorted out the item_data structure, getiteminfo should work correctly
  5565. now. [Skotlex]
  5566. * KA* skills can now be casted on other Soul Linkers as well without the
  5567. Spirit requirement. [Skotlex]
  5568. * Soul Drain will now show the SP drained regardless of drain display
  5569. settings. [Skotlex]
  5570. * SC_COMBO state will now end in skill_attack rather than
  5571. skill_check_condition (as it is required there to apply damage bonuses
  5572. based on combo-casted skills) [Skotlex]
  5573. * Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
  5574. [Skotlex]
  5575. * Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
  5576. servers. [Skotlex]
  5577. * When removing a castle's owning guild, the char servers will erase the
  5578. guardian data now. [Skotlex]
  5579. * Changed the behaviour of immobile mobs when they can't chase their
  5580. target. Rather than using a longrange skill and then unlocking, they will
  5581. use an attack/angry state skill and then unlock. [Skotlex]
  5582. * Some adjustments of how disguising + gm-hiding work together. [Skotlex]
  5583. * Fixed clif_GlobalMessage being the exact same function as clif_message
  5584. (the first should send to ALL_CLIENT and the later should send to
  5585. AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
  5586. * Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
  5587. * Characters in vending are now always considered "idle" if the
  5588. idle_no_share setting is active. [Skotlex]
  5589. * Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
  5590. * Remaining fixes for item scripts. [Lance]
  5591. * Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
  5592. 2006/05/12
  5593. * Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
  5594. * Bugfix on fake npc [Lance]
  5595. * Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
  5596. * Reverted again the change that stuns the caster on Ske, Ska, Swoo when
  5597. the target is a nonplayer (rather than always) [Skotlex]
  5598. * Modified mob_spawn_once so that coordinates -1,-1 are "random around the
  5599. player" while 0,0 are random around the whole map (regardless of whether
  5600. there's a player attached or not) [Skotlex]
  5601. * Knockback will no longer work on traps during woe. [Skotlex]
  5602. 2006/05/11
  5603. * Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
  5604. [Skotlex]
  5605. * NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
  5606. of 40% per level. [Skotlex]
  5607. * Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
  5608. [Skotlex]
  5609. * Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
  5610. * Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
  5611. * Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
  5612. * Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
  5613. [Skotlex]
  5614. * Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
  5615. secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
  5616. * Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
  5617. Tanaous [Skotlex]
  5618. * Added back the missing code that substracts arrows when normal-attacking.
  5619. [Skotlex]
  5620. 2006/05/10
  5621. * Changed the state of Asura back to explosionspirits, added a hardcoded
  5622. move_enable check when invoking Asura and NOT while in BladeStop or a
  5623. Combo. [Skotlex]
  5624. * Added back SC_XMAS to status.c, it got lost sometime during all the
  5625. previous reworkings. [Skotlex]
  5626. * Changed wedding costumes to use setoption rather than changebase.
  5627. [Skotlex]
  5628. * Modified setoption so that flag 1 or no flag adds an option, and flag 0
  5629. removes it. [Skotlex]
  5630. * Updated script_commands with the new behaviour. [Skotlex]
  5631. * Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
  5632. than 15. [Skotlex]
  5633. * Users are now able to use their own dnsbl servers (login_athena) [Zido]
  5634. 2006/05/09
  5635. * Rewrote/cleaned up trade.c for a more clean trading implementation.
  5636. [Skotlex]
  5637. * Added @request commands, sends a request to all connected GMs of
  5638. lowest_gm_level or above as a whisper message. Defaults to gm level 20
  5639. users (UNTESTED). [Skotlex]
  5640. * Modified @commands to use Meruru's code which is faster and does a fair
  5641. attempt at tabulating the commands presented. [Skotlex]
  5642. * Updated SKA to return a random value between 0 and 99 each time
  5643. status_get_def is invoked. [Skotlex]
  5644. * Updated Making Arrow to not include unidentified items in the list.
  5645. [Skotlex]
  5646. * Reduced drop slots from 15 to 10. [Skotlex]
  5647. * Updated mob_db.sql with the current data. [Skotlex]
  5648. * Updated setoption script command to receive a second (optional) argument
  5649. flag. If the flag is 1, the option is added to what the player currently
  5650. has; likewise using flag 2 removes only that option. No flag (or any other
  5651. value) is the older behaviour of removing all other options and setting
  5652. specificly what is passed. [Skotlex]
  5653. * Updated script_commands information for setoption due to this change.
  5654. [Skotlex]
  5655. * Small fix in npc-created chat rooms to properly include the terminating 0
  5656. on the chat's event. [Skotlex]
  5657. * Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
  5658. get reduced by 50% regardless of who is standing on the fog. [Skotlex]
  5659. * monster_ai&2 will now trigger the rude-attacked skill when the mob can't
  5660. move and the attacker is out of it's attack range. [Skotlex]
  5661. * Added missing icon for Joint Beat [Skotlex]
  5662. * Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
  5663. * Treasure chests will now be excluded from the mob-drop listings
  5664. (@whodrops) [Skotlex]
  5665. * Fix on pc_skill which fixes overlapping when one gets more than one bonus
  5666. for the same skill. [Skotlex]
  5667. * Updated main.sql's loginlog table structure. [Skotlex]
  5668. * Added svn_update6533.sql to update the loginlog structure as suggested by
  5669. theultramage. [Skotlex]
  5670. * Cleaned up somewhat the implementation of BladeStop. [Skotlex]
  5671. * Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
  5672. when crafted for non-players. [Skotlex]
  5673. * Script commands sc_start, sc_start2 and sc_start4 will now start
  5674. regardless of sc defense of the target player (that is, they cannot be
  5675. avoided/blocked) [Skotlex]
  5676. * Fixed a possible counter overflow in attacked_count, changed the var size
  5677. to unsigned char since the code can handle the overflow now. [Skotlex]
  5678. * Multiple targets again reduces armor defense, as reported by Tharis.
  5679. [Skotlex]
  5680. * Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
  5681. * Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
  5682. 2006/05/08
  5683. * Reverted the change that was making ES skills stun the caster always.
  5684. [Skotlex]
  5685. * Removed the fixpos packet which is sent whenever you are hit while moving
  5686. as Aegis doesn't sends this packet neither. [Skotlex]
  5687. * ES magic will now put the caster on stun for 0.5 secs regardless of
  5688. whether the skill-target is a mob or not. [Skotlex]
  5689. * Added function clif_party_join_info which sends packet 0x1e9 each time a
  5690. party-member joins. This packet (as redundant info as it has) should also
  5691. contain the field for "adoptability", but that needs to be coded in yet.
  5692. [Skotlex]
  5693. * Added clif_ParseAdoptRequest which does the basic adoption handling. More
  5694. checks and the reply packets still need to be coded in. [Skotlex]
  5695. * Happy State and TK stances won't dispel on death now. [Skotlex]
  5696. * Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
  5697. skill_check_condition now. [Skotlex]
  5698. * Modified TK-ranker infinite combos to behave as described by AuronX.
  5699. Refer to his thread in the development section for details. [Skotlex]
  5700. * Made all Soul Link Spirit skills not be castable on self. [Skotlex]
  5701. * Changed rate of NPC status effect skills to 50+10*lv% base chance
  5702. (guessed, but better than 100% for all levels) [Skotlex]
  5703. * Changed max level of NPC status effect skills to 5 [Skotlex]
  5704. * Increased max number of tries to find a random spot in maps to 1000 since
  5705. some maps have so many non-walkable tiles it's hard to find one in just 100
  5706. tries. [Skotlex]
  5707. * status_set_viewdata will remove the Wedding Option status when you set a
  5708. class that is not wedding. [Skotlex]
  5709. * hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
  5710. * idletime will now be updated on attack-request, not on sit/standup
  5711. [Skotlex]
  5712. * Party members sitting will no longer be considered idle. [Skotlex]
  5713. * Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
  5714. with the disguise/undisguise script commands instead). [Skotlex]
  5715. * Moved Sharp Shooting display to the block with Auto-Counter (since that's
  5716. the other skill that can show critical as well) [Skotlex]
  5717. * Corrected some fields in the standing still packet (guild emblem being
  5718. stored as a Long when it should be Short) [Skotlex]
  5719. * Modified most fields of view_data to be unsigned shorts rather than
  5720. signed ones. [Skotlex]
  5721. * On-Touch NPCs will now make you stop walking when you trigger them.
  5722. [Skotlex]
  5723. * ShadowJump/JumpKick will make you land on the target's cell now.
  5724. [Skotlex]
  5725. * Fixed Kaahi triggering only once per skill duration. [Skotlex]
  5726. 2006/05/07
  5727. * Fixed readme/changelog.html [KillerBox]
  5728. * Removed old logs. [Lupus]
  5729. TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
  5730. 2006/05/05
  5731. * Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
  5732. before sending one (as it's not required to send twice).
  5733. * Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
  5734. players and still continues execution to work). [Lance]
  5735. * Updated item_db.sql to current. [Skotlex]
  5736. * Fixed a bug in @commands, most likely the reason some people were still
  5737. getting crashes. [Skotlex]
  5738. * Fixed @commands not showing the last available commands (unless the total
  5739. amount of commands is divisible by ten) [Skotlex]
  5740. * Added a npc-script-event cache to avoid looking up event-scripts every
  5741. time they need to be executed. Events cached are all those defined in
  5742. script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
  5743. - Since the cache holds direct pointers to the npcs/events, do NOT unload
  5744. the related NPCs or you'll get dangling pointer crashes. However,
  5745. @reloadscript will work fine.
  5746. - Set the etc_log to on to see a summary of npcs/events loaded for script
  5747. execution on startup.
  5748. * The Rest bonus activated by using /doridori while in rest should now
  5749. trigger with all the class tree (TK/SL/SG) [Skotlex]
  5750. * Fixed Kaupe always triggering when the one who was under Kaupe was a
  5751. player rather than the one attacking... [Skotlex]
  5752. * /doridori now won't double the HP/SP regen of TKs, it only activates
  5753. their "happy" state. [Skotlex]
  5754. * Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
  5755. * Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
  5756. * Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
  5757. (even if there's no other TK around). [Skotlex]
  5758. * Added battle config settings view_range_rate and chase_range_rate to
  5759. adjust the view-range and chase-range (range2/range3) of the mob_db without
  5760. having to manually change them (battle/monster.conf) [Skotlex]
  5761. * Kaupe now will only block all skills of players, for non-players, only
  5762. normal attacks can be missed. [Skotlex]
  5763. * Moved the Kaite spell-reflect code after the damage calculation function,
  5764. so the reflected damage is exactly the damage the original target would
  5765. have received. Will only trigger if the damage to be reflected is above 0.
  5766. [Skotlex]
  5767. * OnEquip scripts will now trigger on log-on. [Skotlex]
  5768. * Infinite Endure will no longer give mdef bonus. [Skotlex]
  5769. * Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
  5770. start/end infinite endure. [Skotlex]
  5771. * Fixed Kaahi's SP cost per heal. [Skotlex]
  5772. * Now when walkdelay is set to 0, characters will stop walking when hit,
  5773. but will not have any walk delay. (previously setting walk delay to 0 would
  5774. not even stop characters from walking when hit) [Skotlex]
  5775. 2006/05/04
  5776. * Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
  5777. * Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
  5778. * Some clean-ups in the mob_ai [Skotlex]
  5779. * Improved atcommand autoloot, now displays droprate in percents and notices
  5780. player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
  5781. commited by erKURITA
  5782. * Added one grace range in the mob_loot search function which should fix
  5783. mob_can_reach failing when invoked with the same distance that distance_bl
  5784. returned. [Skotlex]
  5785. * Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
  5786. * Eska is now usable on bosses. [Skotlex]
  5787. * Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
  5788. * clif_skill_failed will print out a debug line with the skill_id (since
  5789. the current null_po does not helps at all to fix it) [Skotlex]
  5790. * Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
  5791. * Rewrote Kaahi to behave as it should. It will heal whatever amount of
  5792. damage accumulates in the time2 interval (500ms by default) after being
  5793. hit. [Skotlex]
  5794. * Changed skill_unit_move_unit_group to enable moving of all types of
  5795. ground-skills except ensembles (fixes warmth not following you) [Skotlex]
  5796. 2006/05/03
  5797. * Kaahi now triggers every 500ms rather than on every hit (but it only
  5798. heals if in those 500ms an attack that would previously trigger Kaahi has
  5799. taken effect). In other words, it works just like before, except damage
  5800. gets "buffered" into 500ms slots. [Skotlex]
  5801. * Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
  5802. * Knowledge will now only trigger if you logon to the memorized map, not
  5803. walk into it. [Skotlex]
  5804. * Corrected @whomap directly invoking msg_table[] rather than msg_txt()
  5805. [Skotlex]
  5806. * Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
  5807. and not fix the pet issue, but I doubt it'll cause any problems that won't
  5808. be fixed by making the pet move. [Skotlex]
  5809. * Updated Charge Attack's state from none to move_enable. [Skotlex]
  5810. * Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
  5811. 2006/05/02
  5812. * Fixed standing up not really standing you up. [Skotlex]
  5813. * Moved battle_consume_ammo to the end of skill_castend_damage_id,
  5814. skill_castend_nodamage_id and skill_castend_pos2 rather than
  5815. battle_calc_weapon_attack. They will trigger when the player's arrow_atk
  5816. state is active and a ground skill was not invoked. It should fix all
  5817. issues with splash/ground skills consuming ammo per target rather than once
  5818. per skill use. [Skotlex]
  5819. * Added structure state to the ground skills, their fields are magic_power,
  5820. into_abyss and ammo_consume to indicate the states that were previously
  5821. stored in val3. [Skotlex]
  5822. * Implemented desperado as explained by Rockman-EXE. The skill-effect is
  5823. not showing up though, I'll need some logged packets to see what's missing.
  5824. [Skotlex]
  5825. * Removed the unit_can_move checks in skill cast-end, they should be
  5826. performed in skill_check_require when the skill's state is move_enabled.
  5827. [Skotlex]
  5828. * Changed extremity fist's state to move_enabled, the explosion spirits
  5829. check is now hardcoded. [Skotlex]
  5830. * Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
  5831. Haplo. [Skotlex]
  5832. * Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
  5833. impossible to steal unless you have at least 100% steal-rate (where steal
  5834. rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
  5835. * Cleaned up clif_parse_action_request to enable sitting/standing while in
  5836. shops, interacting with npcs, etc. [Skotlex]
  5837. * Kaite now works against all types of spells. [Skotlex]
  5838. * Kaupe now works against all skills. [Skotlex]
  5839. * Sanctuary now won't damage non-enemies. [Skotlex]
  5840. * Blessing now will always give you bonus stats even if you are wearing
  5841. undead armor. [Skotlex]
  5842. * Modified how Rogue's treasure works so that you get +1% to your steal
  5843. rate rather than +0.01% to the final rate. [Skotlex]
  5844. * Rewrote Warmth to use ground-skill-units, it should behave now like in
  5845. officials (implementation is not quite the same, but it should yield the
  5846. same effects while consuming less bandwidth). "Stacking", as it's called,
  5847. is possible now, but limited to eA's minimum timer skill interval (100ms).
  5848. [Skotlex]
  5849. * Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
  5850. +5+lv to all stats (as explained by Playtester and Tharis on how the skill
  5851. behaves). [Skotlex]
  5852. * Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
  5853. * SC_FUSION won't end when you die now. [Skotlex]
  5854. 2006/05/01
  5855. * Added knockback when you run into a wall during running. However
  5856. position is not being refreshed on the client yet... [Skotlex]
  5857. * Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
  5858. * Corrected a crash when sd is null in npc_event [Skotlex]
  5859. * After testing to make sure it works properly, I'm including
  5860. new battle conf options to limit MVP drops. [Reddozen]
  5861. * Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
  5862. * Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
  5863. since it has a visual effect to use. [Skotlex]
  5864. * Corrected the value of OPTION_FLYING [Skotlex]
  5865. * Using SG_FUSION ends Soul Linked effect. [Skotlex]
  5866. * status_setviewdata will set your option accordingly when the previous/new
  5867. view-class is wedding or xmas suit. [Skotlex]
  5868. * Added function map_foreachinshootrange, behaves the same way as
  5869. map_foreachinrange, but it also performs a "shoot-path" check before
  5870. invoking the function. Used in the skill subtimer function if
  5871. skill_wall_check is defined. [Skotlex]
  5872. * Fixed AL_WARP displaying "Unknown Area" selections when you don't have
  5873. all memo points used up. [Skotlex]
  5874. * Fixed alive_count not being reset on skill unitsetting, which leads to
  5875. some groups not being cleared once all their units expire. [Skotlex]
  5876. * Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
  5877. to skill_counter additional effect so it may trigger even on miss. [Skotlex]
  5878. * SKA no longer blocks skills. [Skotlex]
  5879. * Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]