View Issue Details

IDProjectCategoryView StatusLast Update
0002882Eresseapublic2022-11-28 11:10
ReporterSolthar Assigned ToEnno  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version27.3 
Target Version28.1 
Summary0002882: PIRATERIE funktioniert nicht wie beschrieben
Description

"... Werden Parteinummern angegeben, wird er nur auf Schiffe der angegebenen Parteien reagieren. Wird keine Parteinummer angegeben, reagiert er auf alle Schiffe von Parteien, zu denen die Partei des Kapitäns kein HELFE KÄMPFE gesetzt hat. "

Es ist aber so, dass Parteien, denen ich helfe, grundsätzlich ignoriert werden, auch wenn ich die Parteinummern angebe. Es wäre wünschenswert, auch eigenen Schiffen zu folgen, zum Beispiel um abtreibende Schiffe zu finden.

Steps To Reproduce
local pirate_y = 0

-- returns pirate, origin region, target region
function make_pirate(f2, id)
    pirate_y = pirate_y + 2
    local r1 = region.create(0, pirate_y, 'ocean')
    local r2 = region.create(1, pirate_y, 'plain')
    local r3 = region.create(2, pirate_y, 'ocean')
    local f1 = get_unit("u1").faction
    if f2 == nil then
        f2 = faction.create('aquarian', "pirate@eressea.de", "de")
    end
    local v = unit.create(f1, r3)
    local p = unit.create(f2, r1)

    local sh = ship.create(r3, "dragonship")
    v.ship = sh
    sh.owner = v
    sh = ship.create(r1, "dragonship")
    p.ship = sh
    sh.owner = p
    v:set_skill("sailing", 99)
    p:set_skill("sailing", 99)
    if id ~= nil then
        p.id = atoi36(id)
        p.ship.name = id
    end
    v:add_order("NACH w")

    return p, r1, r2
end

function test_piracy()
    local f1 = faction.create('aquarian', "victim@eressea.de", "de")
    local r1 = region.create(0, 0, 'plain')
    local u1 = unit.create(f1, r1)
    u1.id = atoi36("u1")

    local u2, o2, r2 = make_pirate(nil, "u2")
    local u3, o3, r3 = make_pirate(nil, "u3")
    local u4, o4, r4 = make_pirate(nil, "u4")
    local u5, o5, r5 = make_pirate(nil, "u5")
    local u6, o6, r6 = make_pirate(nil, "u6")

    local u7, o7, r7 = make_pirate(f1, "u7")

    u2:add_order("PIRATERIE")

    u3:add_order("HELFE " .. itoa36(f1.id).." ALLES")
    u3:add_order("PIRATERIE")

    u4:add_order("HELFE " .. itoa36(f1.id).." ALLES")
    u4:add_order("PIRATERIE xx " .. itoa36(f1.id))

    u5:add_order("PIRATERIE xx")
    u6:add_order("PIRATERIE xx " .. itoa36(f1.id))

    u7:add_order("PIRATERIE xx " .. itoa36(f1.id))

    process_orders()

    write_reports_if_selected('temp')
    assert_equal(r2, u2.region, "normal piracy")
    assert_equal(o3, u3.region, "helps, no piracy")
    assert_equal(o5, u5.region, "target not in list")
    assert_equal(r6, u6.region, "target explicit")
    assert_equal(r4, u4.region, "help, but target in list")
    assert_equal(r7, u7.region, "own faction, but target in list")
end
TagsNo tags attached.
Faction1wpy
GameE2
Report0

Activities

Xolgrim

Xolgrim

2022-08-20 19:08

updater   ~0009748

Abgetriebene Schiffe fängt man normalerweise mit FOLGE ein

Solthar

Solthar

2022-08-20 20:41

developer   ~0009749

Na schön, dann wäre es nützlich, um abtreibende Schiffen anormal zu finden. Das Hauptproblem ist aber, dass es nicht funktioniert wie beschrieben.

Issue History

Date Modified Username Field Change
2022-08-20 10:29 Solthar New Issue
2022-08-20 19:08 Xolgrim Note Added: 0009748
2022-08-20 20:41 Solthar Note Added: 0009749
2022-08-29 07:02 Enno Assigned To => Enno
2022-08-29 07:02 Enno Status new => assigned
2022-08-29 07:02 Enno Target Version => 27.4
2022-11-28 11:10 Enno Target Version 27.4 => 28.1