@@ -10,6 +10,40 @@ local RPG
10
10
mainMatCount = 16 ,
11
11
materialsCount = 0 ,
12
12
13
+ noBloodMobs =
14
+ {
15
+ BoneGolem_lvl1 = " false" ,
16
+ BoneGolem_lvl2 = " false" ,
17
+ BoneGolem_lvl3 = " false" ,
18
+ Skeleton = " false" ,
19
+ DM300 = " false" ,
20
+ Goo = " false" ,
21
+ EarthElemental = " false" ,
22
+ WaterElemental = false ,
23
+ FireElemental = " false" ,
24
+ AirElemental = " false" ,
25
+ Golem = " false" ,
26
+ SpiritOfPain = " false" ,
27
+ Statue = " false" ,
28
+ Wraith = " false" ,
29
+ IceElemental = " false" ,
30
+ Crystal = " false" ,
31
+ ArmoredStatue = " false" ,
32
+ GoldenStatue = " false" ,
33
+ Shadow = " false" ,
34
+ Undead = " false" ,
35
+ ShadowLord = " false" ,
36
+ TreacherousSpirit = " false" ,
37
+ IceGuardianCore = " false" ,
38
+ IceGuardian = " false" ,
39
+ EnslavedSoul = " false" ,
40
+ ExplodingSkull = " false" ,
41
+ JarOfSouls = " false" ,
42
+ Lich = " false" ,
43
+ RunicSkull = " false"
44
+
45
+ },
46
+
13
47
Objects = {
14
48
Ui = {
15
49
WndInfoItem = luajava .bindClass (" com.watabou.pixeldungeon.windows.WndInfoItem" ),
@@ -410,23 +444,27 @@ local RPG
410
444
local smithData = storage .gameGet (" smithing" ) or {}
411
445
local smithScale = 0.7 + 0.15 * smithy .lvl
412
446
local rareName = " "
447
+ local rareScale = 0
413
448
local exp = 0
414
449
415
450
local rareRandom = math.random (1 ,15000 )
416
451
if rareRandom <= 100 + RPG .AllLuck ()* 2 then
417
452
smithScale = smithScale + 0.666 * smithy .lvl
418
453
rareName = " (" .. RPD .textById (" Legendary" ).. " )"
419
454
exp = exp + 12
455
+ rareScale = 10
420
456
421
457
elseif rareRandom <= 800 + RPG .AllLuck ()* 2 then
422
458
smithScale = smithScale + 0.3 * smithy .lvl
423
459
rareName = " (" .. RPD .textById (" Epic" ).. " )"
424
460
exp = exp + 5
461
+ rareScale = 6
425
462
426
463
elseif rareRandom <= 3500 + RPG .AllLuck ()* 2 then
427
464
smithScale = smithScale + 0.1 * smithy .lvl
428
465
rareName = " (" .. RPD .textById (" Rare" ).. " )"
429
466
exp = exp + 2
467
+ rareScale = 2
430
468
431
469
end
432
470
@@ -834,14 +872,14 @@ local RPG
834
872
end
835
873
smithData = storage .gameGet (" smithing" ) or {}
836
874
if smithData .exp >= smithData .expToUp then
837
- storage .gamePut (" smithing" , {lvl = smithData .lvl + 1 , expToUp = smithData .expToUp + 2 * ((smithData .lvl + 1 )% 2 )+ smithData .lvl + 1 , exp = 0 + smithData .exp - smithData .expToUp })
875
+ storage .gamePut (" smithing" , {lvl = smithData .lvl + 1 , expToUp = smithData .expToUp + 3 * ((smithData .lvl + 1 )% 2 )+ smithData .lvl + 2 , exp = 0 + smithData .exp - smithData .expToUp })
838
876
end
839
877
840
878
if smithy .mode == " weapon" or smithy .mode == " magic" then
841
879
842
- return {str = RPG .smartInt (str ),info = itemInfo , icon = icon , name = name , visualName = visualName , tier = tier , minDmg = RPG .smartInt (minDmg ), maxDmg = RPG .smartInt (maxDmg ), delay = delayFactor , accuracy = accuracy , range = range , dstats = stats , addStats = addStatsGroups [mode ], type = table.unpack (objectDmgType [smithy .choosenObject ],1 ), element = table.unpack (objectDmgType [smithy .choosenObject ],2 )}
880
+ return {str = RPG .smartInt (str ),info = itemInfo , icon = icon , name = name , visualName = visualName , tier = tier , minDmg = RPG .smartInt (minDmg ), maxDmg = RPG .smartInt (maxDmg ), delay = delayFactor , accuracy = accuracy , range = range , dstats = stats , addStats = addStatsGroups [mode ], type = table.unpack (objectDmgType [smithy .choosenObject ],1 ), element = table.unpack (objectDmgType [smithy .choosenObject ],2 ), rareScale = rareScale }
843
881
else
844
- return {str = RPG .smartInt (str ),name = name , visualName = visualName , info = itemInfo , icon = icon , tier = tier , dr = drOrDmg [mode ], dstats = RPG .unpackAll ({stats ,allAdd })}
882
+ return {str = RPG .smartInt (str ),name = name , visualName = visualName , info = itemInfo , icon = icon , tier = tier , dr = drOrDmg [mode ], dstats = RPG .unpackAll ({stats ,allAdd }), rareScale = rareScale }
845
883
end
846
884
end ,
847
885
@@ -984,6 +1022,26 @@ local RPG
984
1022
end ,
985
1023
986
1024
1025
+ flyText = function (enemy ,text ,color )
1026
+
1027
+ if color == " red" then
1028
+ enemy :getSprite ():showStatus (0xf00000 ,text )
1029
+ end
1030
+
1031
+ if color == " green" then
1032
+ enemy :getSprite ():showStatus (0x45db00 ,text )
1033
+ end
1034
+
1035
+ if color == " white" then
1036
+ enemy :getSprite ():showStatus (0xffffff ,text )
1037
+ end
1038
+
1039
+ if color == " orange" then
1040
+ enemy :getSprite ():showStatus (0xf08000 ,text )
1041
+ end
1042
+ end ,
1043
+
1044
+
987
1045
dmgText = function (type ,elmnt ,enemy )
988
1046
989
1047
color = 0xffffff
@@ -1195,7 +1253,7 @@ local RPG
1195
1253
local armor = hero :getBelongings ().armor
1196
1254
local a = armor :requiredSTR ()- 1
1197
1255
1198
- return math.max (0.1 , ((0.8 + RPG .AllFast ()* 0.04 ) - 0.03 * RPD .Dungeon .depth - 0.025 * (math.min (0 ,armor :requiredSTR ()- RPG .physStr ())) ))* math.pow (1.3 ,a )
1256
+ return math.max (0.1 , ((0.8 + RPG .AllFast ()* 0.04 ) - 0.05 * RPD .Dungeon .depth - 0.025 * (math.min (0 ,armor :requiredSTR ()- RPG .physStr ())) ))* math.pow (1.3 ,a )
1199
1257
end ,
1200
1258
1201
1259
plus = function (int )
0 commit comments