forked from Sphereserver/Source-X
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangelog-56c-PreRelease.txt
3024 lines (2524 loc) · 189 KB
/
Changelog-56c-PreRelease.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
12-07-2013, Coruja (Script pack)
-Updated #2171: sphere_defs.scp (added missing midis SE/ML/HS)
19-07-2013, Ben
-Added: Triggers @Enter, @Exit, and @Step to ROOMDEFs
(Script pack)
-Updated #2173: some components in sphere_item_multis_houses_ships.scp
-Removed: region_flag_globalname in sphere_def.scp since it's no longer in use
-Removed: region_flag_globalname from sphere_map0.scp and sphere_map2.scp
-Added: REGION_FLAG_ANNOUNCE to regions that have a TAG.ANNOUNCEMNT in sphere_map0.scp
20-07-2013, Ben
-Added: Tags functions to ROOMDEF. (TAG, TAG0, TAGAT, TAGCOUNT, TAGLIST, CLEARTAGS)
-Fixed: Setting region/room tags in game (ex: .region.tag.test 1) not setting properly.
05-08-2013, Ben
-Added #2175: local.CreateObject1 <itemdef> to create food spell. If set, it will produce this item when the spell if done.
-Modified #2181:(script pack) Incorrect DUPELIST on i_keg_wood
-Added #2148: tag.NoRestock on vendors and regions. Setting either one to 1 will stop routine restocking of vendors
-Fixed: Error in ISTEVENT.
-Added #2177:
- <ISTIMERF.functionname> to check if a timerf exists. Returns the time left in sec if it exists or 0 if not.
- TIMERF STOP,functionname to stop a specific timerf.
-Removed #2180:(script pack) i_orb and i_minion_leather from spherechar_lbr.scp
-Added #2183: EF_FixKillTrigger 0x02 to possibly fix Exp system and @Kill trigger
-Fixed #2159: Items with ATTR attr_newbie should not be stuck on NPCs with ALLOWNEWBTRANSFER on.
-Fixed #2172: (script pack) Magery spell sound def adjusted.
13-08-2013, Ben
-Fixed #2189: Changed ATTACKER.CLEAR from readable to writable.
25-08-2013, Ben
-Added: Auto detection of in use triggers (Vjaka's code from 0.57 source)
-Removed: ExperienceMode 0x20 and 0x40 since Auto trigger detection is enabled.
-Removed: EF_New_Triggers, EF_Minimize_Triggers, and EF_NPCAct_Triggers since Auto trigger detection is enabled.
-Removed: @NPCHearNeed trigger in sphere_events_human.scp since this trigger doesn't exist!
27-08-2013, RanXerox
-Replaced hardcoded magic resistance string
(Script Pack)
-Correction to i_keg_wood_2 (it is not a container)
-Corrected spelling mistakes ("entrance" not "entrace") in sphere_map2.scp
-Added Armored Boura to mount defs in sphere_defs.scp
-Added more random sets in sphere_defs.scp
-Added more sounds in sphere_defs.scp
-Renamed some ITEMDEFs (noted in sphere_backward_compatibility.scp)
-Formatted scripts and updated syntax in numerous files
-Added t_acid terrain type to sphere_types.scp (not used yet)
-Moved numerous ITEMDEFs from one file to another
-Added numerous new ITEMDEFs
-Added more sphereCrypt.ini entries
-Differentiate mod* and max* in the info dialog
-Added placeholders for new spells
-Magery Spell flags made consistent
-Magery spell resources modified to match the spellbook in modern clients
-Numerous additions to creature height table in sphere.defs
28-08-2013, RanXerox (Script Pack)
-Added more ITEMDEFs
-Fixed DUPELIST entries
-Changed some Axis categories, subsections and descriptions
-Moved ITEMDEFs from one file to another
-Major changes to doors script file in preparation for making new doors work
31-08-2013, Ben
-Fixed #2193: Mounts will die instantly when killed while mounted.
01-09-2013, RanXerox (Script Pack)
-Moved numerous ITEMDEFs
-Added numerous ITEMDEFs
-Changed some DEFNAMEs
-Fixed some spelling errors
02-09-2013, Ben
-Added: 04e and 052 tiles to t_water in sphere_types.scp
-Fixed #2200: Custom trigger not working with new automated trigger detection
-Fixed #2199: Resource gembits being set to 0 everytime.
03-09-2013, Ben
-Fixed #2201: @itemXXX triggers not all working.
04-09-2013, RanXerox
-Fixed a bug in @kill trigger where, if enabled, a killer would not get credit
(karma, fame, experience) for the kill.
07-09-2013, Ben
-Added #1805: ColorNotoInvul with default value of 0x35 and NotoInvul 0x40 flag
for PetsInheritNotoriety.
-Fixed #2186: Dialoglist not being updated when closing dialogs.
08-09-2013, RanXerox
-Fixed #2203: Added missing Action values to sphere_dialog.scp
-Fixed #2204: Cooking and Crafting skills now behave like proper crafting skills
08-09-2013, Ben
-Fixed #2191: Turning at the map edge with boats will not trow a console error.
-Fixed #2192: Should not be able to turn on another boat.
10-09-2013, Ben
-Fixed #2141: WorldGem Bits should now recognise map edge properly.
11-09-2013, RanXerox
-Default DISPID for creation of T_SEED items now configured in Sphere_Defs.scp
-New SphereCrypt.ini key
15-09-2013, Ben
-Fixed: @ResourceFound trigger not working.
-Fixed: Error caused by chars spawning when a GM is standing close to point 0,0
-Fixed #2207: ARGN1 in @SELL and @ITEMSELL is now the sold amount and not the total amount.
-Added: ARGN2 in @SELL and @ITEMSELL is the price of the items sold after vendermarkup (ARGN2 / ARGN1 = price per unit)
-Fixed #2205: Changed Noto colors to match OSI default.
-Fixed #2194: Functions starting with any hardcoded functions like LIST and followed with _ should now work as intended.
17-09-2013, Ben
-Added: Runto npc command. Accepts a point or region name as argument.
-Changed: Goto npc command to accept region name as argument.
-Added: NPC_AI_PERSISTENTPATH 0x0400 to the NPCAI setting in sphere.ini.
NPC will retry multiple times to find it's path.
-Updated: Sphere.ini and sphere_msg.scp with new settings
22-09-2013, Ben
-Fixed #2076: Picking up corpse crashing server (not tested)
01-10-2013, Ben
-Fixed #2211: Corpse having wrong MORE values.
02-10-2013, Ben
-Fixed #2214: IsTimerF.function and TIMERF STOP,function not working properly
06-10-2013, Ben
-Fixed #2080: Items with different tags will no longer stack
-Added #2210: Support for item stacking with EF_ItemStacking 0x04(probably not 100% OSI style but should do the trick (maybe even better))
12-10-2013, Ben
-Fixed #2219: P.COMPONENTS.x always returning 0 on maps bigger then 0
-Remove GM check in Item stacking
15-10-2013, RanXerox
-Removed 0x from flag explanations in sphere.ini since spherescript does not use 0x to indicate hex
-More changes to script pack than can be counted!
- Dozens of files deleted, split, added, renamed, etc.
- Many hundreds of ITEMDEFs and CHARDEFs shuffled from one place to another.
- Lots of modifications to DUPELIST and DUPEITEM, etc.
16-10-2013, RanXerox (Script Pack)
-Converted Unix files to DOS format
-Replaced: references to the missing MESSAGELOC function
-Added: i_canal ITEMDEF (now all items can be used in custom foundation multi's)
-Fixed #2212: renamed Horde Demons
-Fixed #2215: modified WEIGHT on i_dragonscale
-Removed: bad reference to i_bear_skull
-Added: some useful NPC functions
-Renamed: sphere_items_seige.scp (...it's spelled Siege)
-Finished scripting more lightsources
17-10-2013, RanXerox (Script Pack)
-Switched: 0f3e and 0f3f (i_arrow) because older clients have a rock as ITEMDEF 0f3e
-Removed: the name and title coloration from vendors, citizens, and guildmasters
-Fixed: a bad reference to random_skirts
-Fixed: broken SYSMESSAGELOC (they were all missing color)
-Improved: corrosive slime now drops acid pool when threatened
-Added: missing stair multi's
-Added: HIREDAYWAGE back to sailors and mercenaries
-Added: deed's for all the house foundations
-Added: some missing NPC functions (is cursed)
-Added: some missing combat timers (paralyzing blow and block healing)
18-10-2013, RanXerox (Script Pack)
-Fixed: armored steed figurine
-Fixed: syntax (SERV.NEWITEM instead of SRC.NEWITEM and NEW. instead of SRC.ACT.)
-Fixed: fukiya (dart shooter)
-Fixed: various mounts that had errors with the mounted animation
-Fixed: some entries in sphere_typedefs.scp
-Fixed: implementation of monsters that "summon" other monsters is now consistent
-Fixed: console errors in some NPC events
-Fixed: Paroxysmus loot (he dropped himself as an icon instead of his pet dragon)
-Fixed #1536: Pack animals with wrong maxweight
18-10-2013, Ben
-Fixed #2222: Shrink not working anymore.
-Added: UID of shrunken pet is now accessible in ACT of the player.
19-10-2013, Ben
-Fixed #2218: Client crash caused by removefromview when bank is open.
-Added: CLOSE function to container items
-Added: CLOSEPROFILE, CLOSESTATUS, and CLOSEPAPERDOLL functions to characters.
Can take a UID as argument of the char's window you whish to close.
-Fixed #2221,#1933,#1618: EF_Walkcheck blocking some stairs.
20-10-2013, RanXerox
-Changed: animation frames removed from DUPELIST on i_mongbat_dartboard
-Changed: value for color_o_silver
-Added: new CHARDEF placeholder for tiger animations- Changed: the value of color_o_silver
-Added: 7.0.33 encryption key
21-10-2013, RanXerox (Script Pack)
-Separated FOODTYPE and MAXFOOD in the monster files
23-10-2013, RanXerox (Script Pack)
-Added: more candy and chocolate related ITEMDEFs
-Fixed: standing lamps
-Added: Charybdis (and tentacle), Tiger, and Killer Pumpkin CHARDEFs
24-10-2013, RanXerox (Script Pack)
-Fixed: bad defname reference in loot (should be i_mask_daemon)
-Fixed: tall jack-o-lanterns
-Added: spawn groups for Hythloth
-Moved: t_equipitem moved to its own file (since it will eventually be quite large)
-Modified: t_equipitem now implements:
TAG.ElfOnly
TAG.GargoyleOnly
TAG.RareItem
TAG.Stolen
TAG.Exceptional
TAG.CraftedBy
TAG.DoNotEquip
TAG.NightSight
TAG.RESCOLD
TAG.RESENERGY
TAG.RESFIRE
TAG.RESPOISON
TAG.RESPhysical
TAG.LowerRequirements
TAG.LUCK
TAG.STR
TAG.DEX
TAG.INT
TAG.HITS
TAG.STAMINA
TAG.MANA
TAG.HitpointRegen
TAG.StaminaRegen
TAG.ManaRegen
TAG.FasterCastRecovery
TAG.SelfRepair
TAG.ExtraSkill1
TAG.ExtraSkill2
TAG.ExtraSkill3
TAG.ExtraSkill4
TAG.ExtraSkill5
WARNING: Because many of the equipable items already had these TAGs, anyone
using those items on a live shard should make sure all those items
in-game are unequipped before installing this change!
25-10-2013, RanXerox (Script Pack)
-Minor updates to maps 2-5
27-10-2013, Ben
-Fixed #2227: Region.ISEVENT not working.
-Fixed #2229: STRREVERSE doesnt invert the entire string. (This was also the case for STRTOLOWER and STRTOUPPER)
-Added: DEFLIST which acts like LIST but readable only (Filled by server at loading time with lists of resources)
-Added: new Section to Sphere.ini [RESOURCELIST] with a list of resource blocks to be loaded into DEFLISTs
Ex: Adding ITEMDEF in the RESOURCELIST will create a DEFLIST.ITEMDEF with all itemdefs loaded by the server.
-Added: Category, Subsection, and Description to ITEMDEF and CHARDEF (now the server can read them if directly in the DEF section and not under @create)
28-10-2013, Ben
-Fixed #2164: NPCs attacking from different floors
-Fixed: Issue with Client 7.0.33.1+ packet change
29-10-2013, RanXerox (Script Pack)
-Fixed: CHARDEFs in sphere_monsters.scp that were missing NAME or CAN
-Fixed: Bad reference to c_sea_monster in sphere_monsters.scp
-Fixed: Bad reference to e_equipitem in sphere_item_provisions_clothing.scp
29-10-2013, Ben
-Added: Cliloc support for start location in clients 7.00.13+
-Updated: Sphere_map_points0.scp with new STARTS information ([STARTS 2] includes a cliloc line as the 4th argument)
-Tweaked: Stacked items should no longer flip.
30-10-2013, RanXerox (Script Pack)
-Fixed: Improved TAG management related to TAG.OVERRIDE.REGEN* in sphere_item_typedef_equipitem.scp
-Fixed: Removed reference to jobNecromancer event from sphere_citizens.scp
31-10-2013, RanXerox (Script Pack)
-Noted: Comments in the sphere_item_typedef_equipitem.scp file were improved
-Added: HTML_REDTEXT and HTML_WHITETEXT to sphere_defs.scp
-Added: TAG.GargoyleOnly to i_gargish* weapons in sphere_item_provisions_weapons.scp
1-11-2013, RanXerox
-Modified: The weather algorithm so that if you set a sector's rainchance to 100, it will always rain
Note: rainchance actually means "precipitation chance". If the coldchance is high enough, the precipitation will be snow.
9-11-2013, Ben
-Fixed #2238: Muldiv returning different values on linux.
-Added #2226: Dupeitem is now readable. Return 0 if not a dupeitem.
-Added #2232: Made @Rename trigger when a player changes his name
ARGS IN as the proposes char name
ARGS OUT as new char name
ARGO is the char getting his name changed.
10-11-2013, Ben
-Added #2210: Picking up an item in a stack will cause above items to fall unless they have attr_static or attr_move_never
-Fixed #1764: LOS issue with stacked items
-Fixed: crashed caused by items stacking too high.
-Possible fix for Pathfinding on maps other then 0. (Needs testing)
11-11-2013, Ben
-Fixed: Error with @Rename trigger causing names to have random characters
-Fixed #2010: Pathfinding now works on maps other then 0 (Been tested this time)
12-11-2013, Ben
-Fixed #2240: Time running at double speed caused by new Muldiv calculation
-Tweak: Split EF_ItemStacking into 2 setting. EF_ItemStackDrop 0x08 will take care of the item dropping part.(for debuging purposes)
17-11-2013, RanXerox (script pack)
-Fixed: all typo's of the word Axel
-Fixed: arcane clothing items
-Fixed: Gargish maul and war hammer TAGs
17-11-2013, Ben
-Added: Destroy function which is like Remove, but will not be stoped by a return 1 in @Destroy
23-11-2013, Khaos
-Added: New Character and Item variables for use with EA iprops and other support. These function as TAGs and are made for static naming.
A manual is in the works. Some of these might change as we bind them into the hard code with further support.
24-11-2013, Khaos
-Added: New Item can flags added:
can_i_enchant
can_i_retaincolor
can_i_imbue
can_i_exceptional
can_i_makersmark
This also allows for enchant=<bool>, etc. for each on items.
-Added: New attr_flags added.
attr_imbued
attr_exceptional
attr_enchanted
attr_questitem
attr_insured
attr_nodrop
attr_notrade
-Added: sphere_defs.scp; new can_i_* and attr_* flags are now added to the files.
24-11-2013, Ben (script pack)
-Tweaked: sphere_dialog.scp to allow ATTR in .info dialog to use 8 chars instead of 4
25-11-2013, Khaos
-Added: can_i_recycle has been added to the core. As above; can be set with the CAN flags or as recycle=1/0.
-Added: attr_lockeddown and attr_secured. I removed these from the variables.
26-11-2013, Khaos
-Fixed: Variable typo for Dammodifier.
-Removed: removed NEWBIE behavior from attr_blessed2 and attr_cursed2.
-Modified: attr_blessed, attr_nodrop, attr_notrade, and attr_insured were added to this drop behavior and should
by default not got to a corpse on death now if it is a player item.
-Added: Cliloc handling for ATTR_SECURE -> "locked down and secure" and ATTR_LOCKEDDOWN -> "locked down"
-Modified: AI Behavior now checks for not only attr_newbie items when looting, but now testes for the following:
attr_insured, attr_blessed, attr_notrade, and attr_nodrop. These won't be looted by NPCs.
-Added: VARIABLES: SOULCHARGECOLD, SOULCHARGEENERGY, SOULCHARGEFIRE, SOULCHARGEKINETIC, SOULCHARGEPOISON, and
INCREASEGOLD to both item and character variables.
26-11-2013, Khaos (Script Pack)
-Added: Mordaunts_House_System.zip was added to the ADDON folder containing an up-to-date version of Mordaunt's
housing system using the new attr_flags that were added.
27-11-2013, Khaos (Script Pack)
-Changed: Spheretables.scp;
- Commented out HELP and TOME. No function was found when tested.
- Uncommented the maps, map points, and guild stones. Left scripts/custom commented since not everyone has this folder.
- Moved some plevel1 functions to plevel2. They shouldn't have been in plevel1.
-Changed: sphere.ini;
- Uncommented the maps and changed instructions for non-ml compliance.
- Resdisp is now 7 for auto SA compliance. (I didn't touch expansion code though within the ini otherwise).
- Uncommented ZEROPOINT for use with ML map0 and map1. Comment it out if you aren't using the newer maps.
-Changed: sphere_region.scp;
- All regiontypes resources now add up to 100.0.
28-11-2013, XuN (Script Pack)
-Added: def.STONECONFIG_MISC_RECRUIT_MAXDISTANCE to do a control check of max distance allowed for the player being recruited.
30-11-2013, Khaos (Script Pack)
-Added: sphere_genericstone_config.scp; missing check. Sorry. XuN sent it to me after the last update.
-Modified: sphere_region.scp; it was missing the REAPAMOUNT lines from every resource. This is corrected now.
30-11-2013, Khaos
-Added: can_i_reforge/REFORGE=1/0 and attr_reforged to sphere. EA Seems to check these for reforging runic items.
-Added: PERMITTEDUSE variable on chars and items.
-Removed: ONLY* variables in favor of PERMITTEDUSE.
-Added: Permitted Player Use Event to the addon's folder in the scripts to directory; full soft code use of the new variable is
used in that script. sphere_defs.scp now contains the soft code flag system for use with this script.
01-12-2013, XuN
Added NameLoc variable for items so you can set a ClilocID for using it as name and show up by script by showing NameLoc instead of Name.
02-12-2013, Khaos
-CHANGED: PERMITTEDUSE to CANUSE variable on chars and items. (This was done on the empty variables for help with the base packs
and to allow more free change usage. Binding this internally would have left out customization for others).
-CHANGED: Switched out Permitted use code in the scripts to CANUSE flagged code. Cleaner look and better wording.
-ADDED: Followerslots to Chars
03-12-2013, XuN
-Removed duplicated entry 'height_0c8 16 //DEFNAME=c_horse_tan' from sphere_defs.scp
03-12-2013, Ben (script pack)
-Added: NAMELOC functionality. It can be set for items and chars, in the *DEF sections or in scripts (not directly in game)
If used, it will display this cliloc instead of the default name (where clilocs are shown)
When used on chars, cliloc 1116690 is used instead of the original 1050045 to preserve prefix and suffix
04-12-2013, XuN
-Added @ResourceGather for RegionResources and @RegionResourceGather for Players:
This trigger is being fired just before gathering skill has finished (after all animations and timings)
Local.ResourceID is the ID of the item being gathered (Writable)
Argn1 is the amount of local.ResourceID being gathered (Writable too)
Return 1 cancels Gathering
05-12-2013, Khaos (Script Pack)
-Fixed the &= in the new CANUSE flags in Addons from processing an undefined symbol error.
-Added Expansion_Player_Event.rar to ADDON section for the suggested usage of EXPANSION Variable on Items and Characters.
08-12-2013, Khaos
-Fixed: Throwing is now working internally as any other ranged fight skill. It now processes gains, skilluse, etc.
Anims were fixed for this as well. (still haven't set flying anims yet, be patient)
-Added: T_WEAPON_THROWING: Treated as a bow type with RANGE Parsing, TData3/4 values.
-Added: T_WEAPON_THROWING to sphere_defs.scp. Also added T_SOUL_FORGE and T_FURNITURE to sphere_def.scp for base pack.
13-12-2013, Khaos
-Added: EventsItem=e_youreventhere; was added to the sphere.ini and hard code. Functions as eventsplayers/pets/regions.
This code fires on ALL items if something is in the global event and fires after tevents and before typedef. Don't overuse
this. We found legitimacy in this addition with a few ideas it would be needed for.
-Changed: attr_nodrop and attr_notrade combined in one as Attr_NoDropTrade. Same with the two variables are now NODROPTRADE on items.
-Added: attr_artifact now takes the spot of attr_notrade
-Changed: attr_artifact items won't take fire damage on clothing unless scripted otherwise.
-Changed: sphere_defs.scp to reflect new attr_* edits.
-Changed: REQEXPANSION -> EXPANSION in the Variables on Items and Chars.
14-12-2013, Khaos
-Added: Char and Item variables for Bane and SpellConsumption
-Fixed: Possible fix for dismount trigger not being called first when mounting a mount while on a mount.
15-12-2013, Ben
-Moved: TAG.OVERRIDE.AMMOANIM , AMMOANIMHUE , AMMOANIMRENDER, AMMOTYPE to permanent variables. (ex:TAG.OVERRIDE.AMMOANIM -> AMMOANIM)
These can be set on Items in game or in the ITEMDEF section. (They can be set on all items but only in use on archery types)
-Added: AMMOCONT to Items and ITEMDEF which can take the UID of a container (for specific container) or an ID (for a type of container)
15-12-2013, XuN
-Added: Spellflag_bless and Spellflag_curse for blessing spells like Agility, Blessing,etc and for Weaken,Curse, etc.
-Modified: sphere_defs.scp and sphere_spells.scp to add these spellflags.
15-12-2013, Khaos
-Added: BONUSHITSMAX, BONUSMANAMAX, BONUSSTAMMAX, and REGENFOOD variables to prepare for a huge overhaul of the internal overrides and status
bar packet.
-Added: INCREASEDEFCHANCEMAX, RESPHYSICALMAX, RESFIREMAX, RESCOLDMAX, RESENERGYMAX, AND RESPOISONMAX variables for CHARACTERS ONLY. The
new status bar packets checks for client >= 7.0.3. Full functional now with THOSE variables and those on it. Ones added earlier for the mis-
informed information won't be leaving the servers since they might be for EC.
-Changed: PlayerStatusUpdate Packet now processes the variables it uses.
16-12-2013, Khaos (Script Pack)
-Changed: Changed colors_neutral range from { 1801 1887 } to { 1801 1908 } as noted on bugtracker.
22-12-2013, Ben
-Changed: LUCK, CURFOLLOWER, MAXFOLLOWER, and TITHING to work on all chars, not just players.
-Added: Support for local database (SQLite) through LDB. reference. (No External programs required!)
-Syntax is similar to MySQL, but slightly different http://sqlite.org/lang.html
-Functions are almost the same as DB. with a few changes.
LDB.CONNECT "filename" to open a database file
LDB.AEXECUTE and LDB.AQUERY are non existent
-SQLite database manipulation program can be found here http://sqliteexpert.com/download.html
02-01-2014, Khaos (Script pack)
-Changed: This upload is containing the rework of multidef files with new naming conventions, price adjustments, etc. spheretables.scp
has been updated to reflect loading of the multis folder. New syntax is m_* instead of i_multi_*.
-Added: Added variant versions of tents and evil compound with doors and signs. Wheat Cottage got doors and a sign as well.
-Added: sphere_defs_2.scp This will now be loaded after sphere_defs.scp containing any backwards compatibility I do.
-Fixed: Broken treasure multis should be fixed based on some old revisions I saw in an old script I had.
-Changed: Mordaunt sent me an updated housing system to match the new house and foundation defnames.
-TODO: Add in the new multidef info to deeds and vendors.
-Moved: spk_ship_cmds to speech folder.
-Fixed: New ships were using t_multi and not t_ship. I assume this might have been causing some of the alleged "bugs" with them. They
are now all using t_ship.
03-01-2014, Ben
Fixed #2256: Reworked NPC object throwing..
->canseelos checks now applies to overrides
->changed tag.override.rock to NPC variable THROWOBJ (can take numerical or string ID now)
->changed tag.override.dam to NPC varialbe THROWDAM min,max (can also be "THROWDAM max" for non variating damage)
->added THROWRANGE min,max (can also be "THROWRANGE max" with a min of 2 by default)
->All 3 variables are available on dynamic npc or in CHARDEF
Fixed: AMMOANIM,AMMOANIMHUE,AMMOANIMRENDER,AMMOCONT, and AMMOTYPE no able to be read directly from SERV.ITEMDEF...
04-01-2014, Ben
Fixed #1904: EF_WalkCheck causing some NPCs to climb impassable terrain.
05-01-2014, Ben
Added #1638: Defmessages are accessible with <DEFMSG.msg_name>
->Also not documented but available before: Defmessages can be set with "DEFMSG.msg_name new_msg"
09-01-2014, RanXerox (Script pack)
-Fixed some duplicate itemdef and defnames
10-01-2014, XuN
Changed: MaxFood is now writable.
Added @TradeCreate trigger for chars, fired after trade windows are created:
SRC=The other player.
Argo=Item wich starts the trade.
return 1 stops the trade.
Added @DropOn_Trade trigger for items:
Act=item adding to trade window.
Argo=Other player.
return 1 blocks the placement.
Added @TradeClose trigger for chars, fired before a trade window is being closed (Opossed to @TradeAccepted).
SRC=The char closing the trade window.
Fixed: Players can now open their containers while placed on trade windows (still cannot pickup items from them, nor them).
Change: Players used to be able to open the containers of other players while they were inside a trade window, these behaviour is now controled in sphere.ini.
Added: Ini option 'TradeWindowSnooping' to handle this behaviour: 0 will open the bags, 1 will call for snooping (or deny it by your scripts).
Notes: -For now there's still a issue causing the client to crash while someone with a trade window open closes his client or just logs off.
-invisible (hidden) players can open trade windows to another players (but only first player will see it, this behaviour will remain, it can be fixed with @TradeCreate).
11-01-2014, Ben
Fixed #2258: Some properties returning as hex instead of decimal.
12-01-2014, XuN
Change in @TradeClose:
Src is the player closing the window.
Argo is the other player.
Fixed: Items being able to move while inside a container inside a trade window.
Fixed: Containers on the ground not being able to open.
Changed: Ships work again in Lost Lands.
Fixed: Disconnect not working correctly with trysrv in high privileged characters.
Added: return 1 to f_onchar_create, it blocks the creation and disconnects the client.
13-01-2014, XuN
Removed: tag.override.noto.$uid, having one tag per 1 character viewing this is insane.
Added: @NotoSend, this trigger will override the default color for status bar and character 'mouse hovering' color (Replacement for tag.override.noto.$uid)
src=The player viewing this char
argn1=bar/char color (0 will let the default system run)
Note: The first 7 colors are the same as NOTO_* definitions, but you can use all your hues range (however the colors does not display like in items/chars)
15-01-2014, XuN
Fixed: Items being able to move inside containers placed in trade windows (semi-fixed before)
Fixed: Gold function now updates automatically the status bar.
Fixed: Move back the character data before f_onchar_create to be able to read it again.
Added: @SeeHidden trigger (Heavy load, keep it clean) fired when a char is going to see (or not) an invisible character (just like staff see other staff members while invisible)
argn1=Invisible/Visible (but grayed out)
No returns for this trigger.
17-01-2014, Ben
Fixed #2244: SERV.ACCOUNT UNUSED xxx can now take any functions with the account being the default in the function.
19-01-2014, Ben
-Added #1607: "LIST.XXX.SET args,..." This will clear the list and set each arguments (separated by a ,) as an element of the specified LIST
-Added: "LIST.XXX.APPEND args,..." This acts the same as SET, but will not clear the LIST. It will add to the LIST
-Change: String parsing should now respect commas(,) as a character inside double quotes ("") instead of treating it as a separator (for most places anyways)
This allows situations like this: LIST.XXX.SET value1,"value2,value3",value4 to have a result of:
LIST.XXX.0 = value1
LIST.XXX.1 = value2,value3
LIST.XXX.2 = value4
-Added #1787,#2142: "LIST.XXX.SORT args" This will re-order the the list using 'args' as order method.
'No args' or 'asc' - sorts case sensitive ascending
'i' or 'iasc' - sorts case insensitive ascending
'desc' - sorts case sensitive descending
'idesc' - sorts case insensitive descending
23-01-2014, XuN
Fixed #2257: Weapons now doesn't hit from Range+1
Added tag.override.SpellTimeout to alter default .ini setting to individual players.
25-01-2014, XuN
Added BUILD function to server, wich returns the svn's build number via <serv.build>, can be used on scripts to keep up versioning and stop the code or do different things between versions in example. (Ok, caught, Ben did it!)
25-01-2014, Script-Pack (Coruja)
Updated sphere_defs.scp (#2255)
colors_skin {1002 1058}
colors_hair {1102 1149}
colors_pink {1201 1254}
colors_blue {1301 1354}
colors_green {1401 1454}
colors_orange {1501 1554}
colors_red {1601 1654}
colors_yellow {1701 1754}
colors_neutral {1801 1908}
colors_snake {2001 2018}
colors_bird {2101 2130}
colors_slime {2201 2224}
colors_animal {2301 2318}
25-01-2014, Ben
-Fixed #2266: Trade Window memory not being removed.
-Change: LIST.xxx.FINDELEM args will now search as a string if 'args' is not a number regardless if it's inside double quotes "".
04-02-2014, XuN
Fixed #2273: Crafting skills with skf_craft not working like they should (Note: skf_scripted means the script is totally custom, for everything, so skf_craft won't work with skf_scripted).
Fixed #2267: Items in the cursor (layer_dragging) are now bounced if a target is opened to the player.
05-02-2014, XuN (Script Pack)
Fixed: changed back i_multi to the new m_ naming style in sphere_item_provisions_deed.scp.
Updated Mordaunt's House System to version 2.3.4.
09-02-2014, Ben
-Added: New variable TIMESTAMP to dynamic items and characters. (To allow for server time to upgrade to INT64)
-Moved: t_corpse.more1, t_book.more2, t_message.more2, t_eq_memory_obj.more2 to new TIMESTAMP
-Added: t_forest and t_jungle to sphere_defs.scp to fix ISNEARTYPE problems
-Fixed: <SERV.BUILD> returning date instead of revision number even though revision number is available.
-Changed: Most Interger types to INT64 for higher time support. Tags and Vars also can hold 64bit numbers. This fixes #1447
13-02-2014, XuN
Fixed: Players now become instantly GuildMasters when placing a Guild Stone instead of waiting until first DClick.
Added functionality to the ATTR_LOCKEDDOWN and ATTR_SECURED flags: locked down items should not be able to be moved, decay and be eaten by npcs (and some more default behaviour), secured items have all this checks but not the ones related to pick up and use.
Script Pack:
Modified: Iron ore now requires 0.0 Mining instead of 20.0.
Updated: New update of Mordaunt's house system.
Updated sphere_msgs.scp: Added ITEMUSE_SECURED, ITEMUSE_SECURE_ON and ITEMUSE_SECURE_OFF
15-02-2014, Ben
-Fixed #2275: NPCs walking through multi doors
-Fixed: Targets not removing when using SELF and LAST
16-02-2014, XuN
Modified @StatChange: now is working properly in EVERY stat change, and not only in the stat gain/loses
argn1=statid (maxhits,maxmana,maxstam and maxfood are checked now too)
argn2=the current stat value
argn3=the new value
Fixed some new variables not working.
ScriptPack:
updated sphere_events_npcs.scp: Functions ModMaxHits/Stam/Mana to work better, they also accept += and the rest of operators.
added: sphere_attr.rar to Custom folder containing some basic behaviour for attr_secure and attr_nodroptrade (for now).
Updated Mordaunt's house system to version 2.3.7
16-02-2014, Ben
-Added #2270: summoned tag added to summoned creatures if CHARTAGS=1 in sphere.ini
Script Pack:
Corrected some defnames - i_fruit_cantelope -> i_fruit_canteloupe
i_fruit_gourd1 -> i_fruit_gourd_yellow
i_fruit_gourd2 -> i_fruit_gourd_green
17-02-2014, XuN
Added targetcancel function to force closing a target.
Fixed some new variables returning hex values.
Added functionality to RegenHits/Mana/Stam, they use the current tag.override.regen_x values
Moved all @SkillChange triggers to CChar::Skill_SetBase, now every skill change is calling this trigger (as it should), no matter of .skill_name, .allskills, skillgains/loses and skill trains.
Fixed serv.Regenx returning value*10
18-02-2014, XuN
Regeneration Tweaks:
-Moved up a check to force stop in this stat, so useless checks are avoided in a function fired in each tick (each lil improve is a win!).
-Added FOOD as a regen stat (RegenFood or tag.override.regen_3)
-ADDED RegenValStat variables (RegenValHits, etc) to work as the RegenStat variables but with tag.override.regenval_x.
-Removed @Hunger
-Removed weird check that multiplied the regen time *2 if the stat was not food, it now works with the time specified in sphere.ini
-Removed weird "Bonus" in HITS giving more delay than the default one, it should sustract it to be a real bonus? however, timers are handled in the trigger now and following the default ini settings.
-Removed tag.override.regen(val)_x: RegenValStat is now readed inside @RegenStat and RegenStat is readed before it, cannot be modified inside without the trigger bein fired in each serv.tick. RegenStat overrides ini setting now (wich is more intuitive when scripting)
-Added @RegenStat trigger fired after
-local.StatID=(0=Hits,1=Mana,2=Stam,3=Food). Writable, never higher than 3.
-local.Value=The amount of points being regenerated (or decreased in food's case). Writable, can be negative but 0 works like return 1
-local.StatLimit=by default=<MaxStat>, allow this stat to pass the limit when regenerating, or limit it lower. Stats over this value will go down in each tick until they reach their limit. This does not work with food as food shouldn't ignore its limit (0).
-return 1 Stop de regeneration of this stat, but not preventing future checks, to do that set the RegenHits to a very high value.
Added f_onaccount_connect to sphere_serv_triggers.scp, READ IT CAREFULLY, I switched the default return procedure here for safety, return 1 will allow the account connecting no matter you have checks or not.
Added LowerReq to the ReqSTR check when trying to equip items for both items and chars (It checks for LowerReqs on the item and in the character too to substract to the real ReqSTR)
23-02-2014, XuN
-Modified: CanUse is now only an item property, it also returns now values in hex format to work with it as a flag variable.
-Sphere.ini: Added the maps 2-5 but commented out, added a few missing comments in some flags.
-Added a check to IsTrigUsed to avoid trigger calls while serv is loading, this will improve load times and avoid several unexpected errors.
-Removed SKTRIG_STROKE's checks from skills and moved to a new function to keep together all the checks giving more control to skills.
-Added skill_stroke() wich handles the strokes left and sound for craft and gathering skills and also a new trigger.
-Fixed amount of strokes to each crafting skill, they were random, now they have 2 strokes by default.
-Added @SkillStroke trigger:
Local.Skill=Skill ID. (Read only).
Local.strokes=Strokes left* (Read/Write).
Local.Sound=Sound to make in this stroke if any (Read/Write).
Local.Delay=Delay until next stroke (10 = 1 second).
return 1 Abort the skill.
return 2* Abort the consumption of resources in this stroke.
*Alchemy works different so its working with some exceptions:
-Local.Strokes instead of going down it's going up until it reach the total strokes count, wich are equal to the amount of resources. In each stroke if no return is given resources are consumed.
return 2 Its only allowed in alchemy skill, returning this will let the skill continue to next step (stroke, finish...) without consuming anything in this stroke.
-Modified @SkillStart: Local.CraftStrokeCnt is NOT writable for alchemy, since the skill works different and cannot be overriden this way, use @SkillStroke to add more Strokes if you want.
-Fixed #2267: MakeItem function now bounces any item in layer_dragging.
-Moved some new variables to return decimal numbers instead of strings.
23-02-2014, Mordaunt (Script Pack):
Another update to sphere_item_provisions_deed.scp, adding new ships and moving their names to m_ too.
24-02-2014, XuN
-Fixed #2267: MakeItem function now bounces any item in layer_dragging.
25-02-2014, XuN
Actual crafting skills (Blacksmithing, Tailoring...) now are not handled as crafting skills by the source, instead of that a SKF_CRAFT is required in their [Skill ] (Excepting Alchemy by the moment)
WARNING: From this version a update of sphere_skills is needed (read below) or crafting skills will not work.
Script pack:
-sphere_skills.scp: Added FLAGS=SKF_CRAFT to blacksmithing,tailoring,tinkering,carpentry, cooking, bowcraft and inscription.
02-03-2014, Ben
-Fixed #2261: (script pack) Hairs/beards using wrong names (multiple scripts updated for this)
03-03-2014, XuN
Added local.Anim to @SkillStroke trigger.
Fixed wrong animations sent in each Stroke (Some are missing?).
14-03-2014, XuN
Fixed #2289:
-Added local.HitsHungerLoss for StatID 3 (Food) in the @RegenStat trigger, this value is still a percentaje and NOT the hitpoints to lose, but setting it to 0 will disable the loss of hitpoints for this character.
-Update: Damage received via Hunger have flags DAM_GOD|DAM_GENERAL|DAM_NOUNPARALYZE, if you want to change it just set Local.HitsHungerLoss to 0 and create your own damage there.
15-03-2014, Xun & Ben
Added support for packet 0xE2 (NewPacketAnimation), wich involves on updating some animations to a new packet and fixes most of the bugs on the gargoyles animations
(Throwing still needs some more updates to see the weapons coming back).
16-03-2014, Ben
Fixed #2285: FVAL returning wrong values in linux.
17-03-2014, XuN
Added @StatChange to ModStr/dex/int/food.
21-03-2014, Ben
Changed: Character creation to process 4th skill properly
Removed: EXTRASKILL.KEY and EXTRASKILL.VAL from f_onchar_create as they are being properly processed.
23-03-2014, matex
1. Fixed a crashbug in the nighly build.
2. @StatChange now receives argn1 for changes like:
0=OStr, 1=OInt, 2=ODex, 3=Food, 4=MaxHits, 5=MaxMana, 6=MaxStam, 7=MaxFood, 8=ModStr, 9=ModInt, 10=ModDex.
24-03-2014, matex
Fixed a calculation bug in Linux that e.g. had influence on Skilldelays
25-03-2014, matex
1. Fixed INT64 Expression handling.
2. Fixed a bug that occured when DIALOGCLOSE/DIALOG was sent to older clients
3. Fixed a minor bug in @StatChange
26-03-2014, matex
1. Fixed Cooking
26-03-2014, matex
1. Fixed a bug in ASC and ASCPAD with negative hex values
2. Fixed StatChange triggering for Food
3. Fixed a bug in the movement code, when climbing stairs with (BRIDGE|PLATFORM flags)
4. Updating logged out characters does'nt send a packet unless ALLSHOW is on
28-03-2014, Ben
Fixed #2296: Quality property not working.
28-03-2014, matex
1. Some internal values are still stored as 32bit (e.g. MORE1, ...). If they are negative their value
is now given as 64bit hex number so calculations,comparisions etc.. work on these values now.
2. Fixed an issue with MaxFood/Food. If MaxFood is set to 0, when read it will return the MaxFood level
of the chardefinition
3. Fixed: The server now only loads 1 Map, if you only use 1 Map.
4. Fixed: NPCs moving over obstacles when EF_WALKCHECK is disabled
29-03-2014, Ben
1. Uptaded Sphere.ini description for MAPx settings (These are now mandatory as of revision 1834)
2. Created an exception for MAP0 to load automatically even if not specified in sphere.ini (need at least 1 map to load)
3. Fixed another instance of 64 bit handling.
(Script pack)
4. Fixed #2292: small change in teleport points for sphere_map_points0.scp and sphere_map_points1.scp
5. #2301 Few flag and typo changes done to sphere_map(2,3,5).scp
30-03-2014, Ben
Fixed system tray icon not removing on exit.
02-04-2014, matex
1. Introduced EF_NoContextMenuLOS => Will disable LOS checks for ContextMenu Use of npcs
2. Improved the standard Walkcheck stuff a bit (especially when dealing with landtiles)
3. Improved the placement code when items are dropped to ground
4. Increased standard LOS Zcheck treshold to 20
5. Changed the meaning of MOVERATE and TAG.OVERRIDE.MOVERATE. It is now a factor that scales the amount of DEX value
that should be taken into consideration for walking speed. E.g. if you only want 75% of the characters DEX value
to be used in walkspeed calculations, you specify MOVERATE=75. Setting this to 100 has no effect.
6. Fixed: Backpack closing when items are dropped to corpse. (You can softscript this if you need it!)
7. Fixed: Use 1-Unit comparisons in Distance Checking. We can't use the axiom of pythagoras here because one tile has
the same diagonal width as vertical and horizontal width. Doing real-world distance checkings messes up everything here!
08-04-2014, matex
1. Fixed HitsHungerloss.
2. Modified behaviour of DiagonalWalkChecks when dclicking items in reach
3. If GM's add players to a party, the player is now added forcibly.
4. Fixed a possible itemleak when dropping too many items to the ground. (e.g. via newitem)
5. Fixed a null reference exception when DISPID of an item is set to something that wasnt defined via ITEMDEF. (e.g. change an item via set dispid)
6. Fixed an exception when you type 'c' in the serverconsole and have more than 100 players online ;)
7. Fixed a possible crash bug when players disconnect. Fixed players not logging out sometimes too. (this did only occur on VERY rare circumstances)
09-04-2014, XuN
-Added f_onaccount_pwchange to sphere_serv_triggers.scp
-Modified f_onaccount_create.
Both are fire now in each account creation / password change, no matter the source (serv.account xx ingame, via console, .set password...).
13-04-2014, Feeh
Fixed #2306: No lag should be noticeable after f_onserver_save call
Fixed #2293: Sphere should now read packets correctly from 6.0.1.7 clients
14/15/16-04-2014, Coruja (Script Pack)
sphere_map0.scp:
-Removed: more generic non-OSI ROOMDEFs (huge cleanout)
-Removed: some more weird ROOMDEFs
-Added: missing regions for some islands
-Fixed: incorrect GROUP set on Fire Temple, Ice Isle
-Fixed: incorrect FLAGS set on Moonglow Zoo, Jail, Green Acres, shrine regions
-Fixed: incorrect RECT set on Lord Britsh/Blackthorne Castle
-Fixed: added missing 'region_flag_guarded' on Delucia
-Fixed: added missing RECT tile on Cove, Green Acres 3
-Small improvement on Britain and Mt Kendall RECT
-Checkmate. Revised the entire script, everything is clean, fixed and categorized now
sphere_map1.scp:
-Moved: Solen Hive region from map0 to map1 (apparently Solen Hive exists only on Trammel)
sphere_map_points0.scp:
-Fixed: Delucia Passage teleporting to incorrect position
sphere_map_points1.scp:
-Updated to match changes of previous sphere_map_points0.scp commit
sphere_map0_ml.scp:
-Moved: temp moved all SE/ML/HS regions to this file. Since it have only a few regions, maybe it's better disband this file and move all regions to their correct map file (map0, map3 and map4)
sphere_map4.scp:
-Small update on Tokuno Islands regions
sphere_newb.scp:
-Updated all skill to match OSI default starting items and colors.
PS: Still need a few more additional items for professions (Warrior, Necromancer, Paladin, Samurai, Ninja) -> I can't update this for now, sphere only have support to skills on sphere_newb.scp,
but not for professions (it would be great if someone give a little help with this on the source :D)
17-04-2014, XuN
Moved tag.override.SpellTimeOut to SpellTimeOut.
Changed: Now @Create trigger can be fired on EVENTS too. Note: be aware of the calls order (SkillClass -> added events -> ini -> chardef (for chars)),
you can't retrieve the <str> ie in a custom event because it's fired before the @Create in the CHARDEF (which is the one setting it), this trigger
doesn't have return 1 so if you set str=15 in your event it will be overwrited with the stat given in the chardef.
Changed all the variables in the 'New Variables' thread to make them readable not only from items/chars but from their BaseDef. That means, no need of IncreaseSwingSpeed
under the @Create, you can set them like the NAME property. Added some variables too, read the post.
Script Pack:
Updated some scripts to reflect the variable's changes:
-items/sphere_item_artifacts.scp
-items/sphere_item_artifacts_minor.scp
-items/sphere_item_artifacts_tokuno.scp
-items/sphere_item_magic_jewelry.scp
-items/sphere_item_provisions_armor.scp
-items/sphere_item_provisions_clothing.scp
-items/sphere_item_provisions_jewelry.scp
-items/sphere_item_provisions_shields.scp
-items/sphere_item_resources.scp
-items/sphere_item_typedef_equipitem.scp
-npcs/sphere_monsters.scp
-npcs/sphere_monsters_custom.scp
sphere_item_vegetation.scp: Commented out TDATA3=i_vanilla_bean since it does not exist.
sphere_item_provisions_deeds.scp:
-Fixed line 64: RESOURCES=i_deed,m_stone_and_plaster_house.
-Changed all of the remaining i_multi_foundation_* to m_foundation_*.
sphere_item_provisions_armor.scp: changed all i_leather from gargoyle leather armor to i_hides_cut (lines 4704 - 5000).
For a complete change's track visit http://scripts.spherecommunity.net/
18-04-2014, XuN
-Fixed a Typo in sphere_item_typedef_equipitem.scp (SeldRepair -> SelfRepair)
-Updated sphere_monsters.scp to add stats to c_tiger and changed changed actual c_tiger to c_tigress
-Added item 03ec7 to sphere_item_ship_parts.scp to link it with c_tiger
-Updated sphere_defs.scp to reflect c_tiger and c_tigress as mounts.
19-04-2014, Ben
Changed: CANUSE flags can now be properly set on ITEMDEF and dynamic items (ITEMDEFs value is given to dynamic items on creation)
Fixed 1565: Removed TAG.OVERRIDE.RANGE from items and chars.
Changed RANGE so it can be read/write on items and char (Dynamic object value overrides basedef value. Highest value between weapon and char is used in combat)
RANGEH and RANGEL are also available as readonly variables for dynamic items and char now
Added FIGHTRANGE to chars to replace old RANGE (readonly and returns the highest value used for combat)
19-04-2014, XuN
-Fixed 0002310: Changed t_weapon_bow in Throwing Items (sphere_item_provisions_weapons.scp) to t_weapon_throwing.
-Fixed 0002309: Mounted characters (humans & elfs) are not sending New Animation packet anymore.
-Fixed 0002294: Every CAN-related property (dye, enchant, flip...) is now working in base items instead of inheriting from DispID.
-Some internal changes related to IsHuman: changed it to IsPlayableCharacter and splitted it into IsHuman || IsElf || IsGargoyle and changed its calls.
-Same for IsHumanID -> IsPlayableID = (IsHumanID || IsElfID || IsGargoyleID)
-Fixed: Gargoyles are no longer able to ride anything.
21-04-2014, Ben
Fixed #2014: memory_aggreived not being set on players
Fixed #2311: t_light_lit not decaying as normal
23-04-2014, Ben
Fixed #1500: Quote causing problems for ARGS and ARGV. This is how is will work now in a simple function called TEST...
-.TEST "a", b, "c,d" Output: ARGS = a ARGV[0] = a ARGV[1] = b ARGV[2] = c,d
-.TEST "a"e, b, "c,d" Output: ARGS = a ARGV[0] = a ARGV[1] = b ARGV[2] = c,d
-.TEST e"a", b, "c,d"f Output: ARGS = e"a", b, "c,d"f ARGV[0] = e"a" ARGV[1] = b ARGV[2] = c,d
-.TEST f"a"g"h,i",b,e"c,d" Output: ARGS = f"a"g"h,i",b,e"c,d" ARGV[0] = f"a"g"h,i" ARGV[1] = b ARGV[2] = e"c,d"
*All ARGV will now show even if quotes are found in first argument.
*if quotes are found as the first character of an argument, what is found in the quote is the argument
*if a quote is found but not at the beginning, or no quote is found, whole string is used as argument.
24-04-2014, Ben
Fixed #1739: ">" in QVAL's condition is now processed properly as "bigger than" instead of the end of QVAL
26-04-2014, Ben
Changed: TAG.OVERRIDE.DOORSOUND_CLOSE for DOORCLOSESOUND
TAG.OVERRIDE.DOORSOUND_OPEN for DOOROPENSOUND
TAG.OVERRIDE.PORTCULISSOUND for PORTCULISSOUND
Added: DOOROPENID to Items for new door system.
Fixed #2054: Should now be able to make any door work with new scripting options (default still works if no new data is found)
-Game Item: (if no info here, use ITEMDEF info)
-DOOROPENID=0676 //ID to change into (no DEFNAME as it's only used for dispid)
-MOREX=-1 // X position change
-MOREY=1 // Y position change
-DOORCLOSESOUND=00f3 closing sound
-DOOROPENSOUND=00eb opening sound
-ITEMDEF: (if no info here and on game item, use default system)
-TDATA1=00eb00f3 //WORD open | WORD close (sounds)
-TDATA2=0676 //ID to change into (no DEFNAME as it's only used for dispid)
-TDATA3=-1 // X position change
-TDATA4=1 // Y position change
29-04-2014, Ben
-Fixed: VAR,TAG and LOCAL causing instability in the server with huge amount of data. Limit of 2048 caracters has been set.
30-04-2014, XuN
-Added SpellCount function for Spellbooks (Read Only).
-Tweaked Attacker system:
Added attacker.add uid / attacker.delete uid. Self explanatory
Changed: attacker.elapsed/dam are now writable
02-05-2014, XuN
Updated house deeds in sphere_template_vend.scp (Thx azmanomer).
Fixed: local.anim in @SkillStroke was readable but not writable. Fixed also alchemy skill sending anim 0 instead of no anim.
Rewrote totally the combat system for npcs ( I may have missed something but it's mostly done ):
memory_war_targ is no longer used for npc combats (in the source) but is still present for scripting backwards, Sphere now uses the 'Attacker' system and a new variable added to it 'Threat'.
added @CombatStart, @CombatEnd, @CombatAdd triggers, return 1 stops actions. (not recomendable, the actions will be called over and over obviously trying to start/add or end the combat).
Attacker system (Added/Changed):
NPC_AI_THREAT flag variable to ini enabling the use of the threat variable for choosing targets in combat (for npcs).
General: Attacker.add uid (Write) Adds the given UID as new enemy in the attacker list for this char.
Attacker.Delete uid (Write) Remove UID from the attacker list.
Attacker.Target (Read) Returns the current best target, these are the priorities: Threat -> Distance -> LOS.
Attacker.ID uid (Read) Returns the 'n' id of the given uid (if in the attacker list, returns -1 if not).
From ID: Attacker.n.Threat (Read/Write)Gets or Sets the Threat of this character against me, Threat is most important factor to select a target. (this gets updated even if npc_ai_threat is disabled, but its not used)
Attacker.n.Dam (Read/Write)Made it writable.
Attacker.n.Elapsed (Read/Write)Made it writable.
I'm updating the wiki with this new information also.
03-05-2014, Ben
-Fixed #2325: Corpse with morez > 0 were able to be draged
-Fixed #1781: Rejected moves should not count as a move for fast walk detection.
06-05-2014, Feeh
-Modified #2328: Dye tub now call @Dye on the dyed item
ARGN1 = the hue value (r/w)
ARGN2 = sound effect (r/w) (default 023e)
ARGO = the item that originated the dye target
SRC = who is dying the item
RETURN 1 = stop internal dying/sound. hue changes made from script will take place
This will allow to change Dye behaviour for specific items without having to track the item id from other methods/scripts
07-05-2014, XuN
-Updated 'guards' defname in sphere_defs.scp, guards have other ID since long time ago.
-Added exception lines to the new Attacker_* functions so if something goes wrong... errors are more descriptive. Also fixed some exceptions appearing now.
-Attacker.elapsed -1 means no attacker decay.
-Fixed #2332: Range, also RangeL/RangeH not working as it should after the variables changes. Also made them return in decimal values instead of hexadecimal.
-Made BloodColor writable.
-Modified Guards system:
Modified @CallGuards trigger for players calling separatelly than NPCs.
This trigger will fire one time on the Player calling guards per each possible target, argn3 is set to 1 if the target is hostile, however if set to 0 nothing will happen, if this is set to 1 the character will be attacked by guards.
-Fixed guards dissapearing after calling them. They also stick now to the attacker system (if defined) being easier to create custom guards (changing how and when are they called will come in next commits)
-Added ini setting GuardsOnMurderers (1 by default), if set to 0 will only attack criminals, if set to 1 will attack criminals and murderers.
-Fixed: GuardsInstantKill now set hits to 1 before hit to ensure the kill, it was acting as instant hit instead of instant kill
-Changed: Moved the instant kill ouside the 'teleport' check, to ensure its using it everytime and not only if target.distance > 1
-Switched 2 checks to ensure that guards are not called on guards.
-Added a check in OnNoticeCrime() to avoid guards becoming criminals if send to attack any good character.
08-05-2014, XuN
Changed @Criminal trigger, now it's being called in every criminal call instead of in OnNoticeCrime(), return 1 prevents the criminal action, argn1 is how many time will the criminal status last.
Fixed CanUse returning weird values when ITEMDEF didn't have any value.
Added WeightReduction to item's weight calculations, so a item with 5.0 weight and 10 Weight Reduction will result in 4.5 weight stones.
09-05-2014, XuN
-Fixed an exception when attacking blue characters.
-Created a new vector-list to handle Notoriety: instead of having 2-5+ checks per second (and nearby character), the notoriety will be saved in this list to reduce a lot the loading related to this function.
-Added NotoTimeout to ini (default 30) to set the 'decay' for notoriety in each character for another one. However the list will be reseted in each criminal/murderer action/karma change/incognito cast.
-Fixed some Karma messages being shown even if the trigger returned 1. Fixed #2297: Trigger's returns were working wrong and any value given to argn1 was not really being considered by sphere unless return != 0.
-Fixed #2290: Now crafting skills cast animations and sounds when starting and in every Skill_Stroke > 1 (1 is the last, note that skill_stroke is called before the stroke ends, not before starting it).
-Removed SKF_NOANIM check after the @SKillStroke trigger, so even if the skill have this flag, it won't pass any value to local.anim, but if you want to have animation for a specific character, then you can write it.
09-05-2014, Ben
-Improved how RangeH/L 'fix' work and making them readable by dynamic items in every situation.
09-05-2014, Feeh
-Fixed #2326: Some mt_* CAN flags were not allowed to be assigned after char/npc creation. It should be assignable anytime from now
10-05-2014, XuN
Fixed #2334. Also forced that any character called to be a guard ( Argn1 in @CallGuards ) have brain_guard no matter what it is really.
Fixed #2333. Also fixing @Attack trigger blocking any other actions too when returning 1.
Added #1765 :New ini setting: AttackingIsaCrime making criminal any character without any damage, only attacking.
10-05-2014, Feeh (thanks to Ben)
Modified: @Dye is now called on more situations on both Items and Chars:
-Script color changes (SRC/ARGO = Server)
-Dye tubs (t_dye_vat) color changes
-@Create color assignment (SRC/ARGO = Server)
-Staff .xcolor command (SRC/ARGO = Server)